summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@codelibre.net>2022-05-30 07:21:53 +0100
committerRoger Leigh <rleigh@codelibre.net>2022-06-04 20:53:23 +0100
commit21ae5bbb020fe649d8059079ebb1c2def8aef6a4 (patch)
treed54791ff4a49308c441b594f0d1930fd428d413b
parent9ba9c66ccaed95abc4be074801ecd7fdf058fb37 (diff)
downloadlibtiff-git-21ae5bbb020fe649d8059079ebb1c2def8aef6a4.tar.gz
Convert HTML documentation to Sphinx RST
* Add CMake build logic * Add Autotools build logic * Move from html/ to doc/ * Manual pages are still generated HTML for the time being
-rw-r--r--.gitlab-ci.yml3
-rw-r--r--CMakeLists.txt2
-rw-r--r--ChangeLog2
-rw-r--r--Makefile.am2
-rw-r--r--cmake/Sphinx.cmake92
-rw-r--r--cmake/SphinxCheckInternalLinks.cmake87
-rw-r--r--cmake/list-manpage-dependencies.py23
-rw-r--r--cmake/list-manpages.py23
-rw-r--r--configure.ac19
-rw-r--r--doc/BigTIFFProposal.rst120
-rw-r--r--doc/CMakeLists.txt221
-rw-r--r--doc/HtmlDoc.cmake (renamed from html/man/HtmlDoc.cmake)16
-rw-r--r--doc/Makefile.am157
-rw-r--r--doc/TIFFTechNote2.rst (renamed from html/TIFFTechNote2.html)0
-rw-r--r--doc/addingtags.rst314
-rw-r--r--doc/bigtiffdesign.rst82
-rw-r--r--doc/bigtiffpr.rst63
-rw-r--r--doc/bigtiffpr_images/esri.png (renamed from html/bigtiffpr_images/esri.png)bin10281 -> 10281 bytes
-rw-r--r--doc/bigtiffpr_images/leica.png (renamed from html/bigtiffpr_images/leica.png)bin6451 -> 6451 bytes
-rw-r--r--doc/bigtiffpr_images/safe.png (renamed from html/bigtiffpr_images/safe.png)bin10285 -> 10285 bytes
-rw-r--r--doc/bigtiffpr_images/weogeo.png (renamed from html/bigtiffpr_images/weogeo.png)bin4160 -> 4160 bytes
-rw-r--r--doc/bugs.rst48
-rw-r--r--doc/build.rst623
-rw-r--r--doc/conf.py86
-rw-r--r--doc/contrib.rst88
-rw-r--r--doc/document.rst28
-rw-r--r--doc/images.rst22
-rw-r--r--doc/images/back.gif (renamed from html/images/back.gif)bin1000 -> 1000 bytes
-rw-r--r--doc/images/bali.jpg (renamed from html/images/bali.jpg)bin26152 -> 26152 bytes
-rw-r--r--doc/images/cat.gif (renamed from html/images/cat.gif)bin12477 -> 12477 bytes
-rw-r--r--doc/images/cover.jpg (renamed from html/images/cover.jpg)bin20189 -> 20189 bytes
-rw-r--r--doc/images/cramps.gif (renamed from html/images/cramps.gif)bin13137 -> 13137 bytes
-rw-r--r--doc/images/dave.gif (renamed from html/images/dave.gif)bin8220 -> 8220 bytes
-rw-r--r--doc/images/info.gif (renamed from html/images/info.gif)bin131 -> 131 bytes
-rw-r--r--doc/images/jello.jpg (renamed from html/images/jello.jpg)bin13744 -> 13744 bytes
-rw-r--r--doc/images/jim.gif (renamed from html/images/jim.gif)bin14493 -> 14493 bytes
-rw-r--r--doc/images/note.gif (renamed from html/images/note.gif)bin264 -> 264 bytes
-rw-r--r--doc/images/oxford.gif (renamed from html/images/oxford.gif)bin6069 -> 6069 bytes
-rw-r--r--doc/images/quad.jpg (renamed from html/images/quad.jpg)bin23904 -> 23904 bytes
-rw-r--r--doc/images/ring.gif (renamed from html/images/ring.gif)bin4275 -> 4275 bytes
-rw-r--r--doc/images/smallliz.jpg (renamed from html/images/smallliz.jpg)bin16463 -> 16463 bytes
-rw-r--r--doc/images/strike.gif (renamed from html/images/strike.gif)bin5610 -> 5610 bytes
-rw-r--r--doc/images/warning.gif (renamed from html/images/warning.gif)bin287 -> 287 bytes
-rw-r--r--doc/index.rst81
-rw-r--r--doc/internals.rst466
-rw-r--r--doc/intro.rst (renamed from html/intro.html)79
-rw-r--r--doc/libtiff.rst678
-rw-r--r--doc/manpages.rst67
-rw-r--r--doc/misc.rst (renamed from html/misc.html)49
-rw-r--r--doc/releases.rst64
-rw-r--r--doc/static/man/TIFFClose.3tiff.html87
-rw-r--r--doc/static/man/TIFFDataWidth.3tiff.html96
-rw-r--r--doc/static/man/TIFFError.3tiff.html107
-rw-r--r--doc/static/man/TIFFFieldDataType.3tiff.html (renamed from html/man/TIFFFieldDataType.3tiff.html)4
-rw-r--r--doc/static/man/TIFFFieldName.3tiff.html (renamed from html/man/TIFFFieldName.3tiff.html)4
-rw-r--r--doc/static/man/TIFFFieldPassCount.3tiff.html (renamed from html/man/TIFFFieldPassCount.3tiff.html)8
-rw-r--r--doc/static/man/TIFFFieldReadCount.3tiff.html (renamed from html/man/TIFFFieldReadCount.3tiff.html)8
-rw-r--r--doc/static/man/TIFFFieldTag.3tiff.html (renamed from html/man/TIFFFieldTag.3tiff.html)4
-rw-r--r--doc/static/man/TIFFFieldWriteCount.3tiff.html (renamed from html/man/TIFFFieldWriteCount.3tiff.html)8
-rw-r--r--doc/static/man/TIFFFlush.3tiff.html108
-rw-r--r--doc/static/man/TIFFGetField.3tiff.html (renamed from html/man/TIFFGetField.3tiff.html)114
-rw-r--r--doc/static/man/TIFFOpen.3tiff.html452
-rw-r--r--doc/static/man/TIFFPrintDirectory.3tiff.html233
-rw-r--r--doc/static/man/TIFFRGBAImage.3tiff.html319
-rw-r--r--doc/static/man/TIFFReadDirectory.3tiff.html217
-rw-r--r--doc/static/man/TIFFReadEncodedStrip.3tiff.html125
-rw-r--r--doc/static/man/TIFFReadEncodedTile.3tiff.html125
-rw-r--r--doc/static/man/TIFFReadRGBAImage.3tiff.html258
-rw-r--r--doc/static/man/TIFFReadRGBAStrip.3tiff.html217
-rw-r--r--doc/static/man/TIFFReadRGBATile.3tiff.html263
-rw-r--r--doc/static/man/TIFFReadRawStrip.3tiff.html105
-rw-r--r--doc/static/man/TIFFReadRawTile.3tiff.html107
-rw-r--r--doc/static/man/TIFFReadScanline.3tiff.html149
-rw-r--r--doc/static/man/TIFFReadTile.3tiff.html124
-rw-r--r--doc/static/man/TIFFSetDirectory.3tiff.html120
-rw-r--r--doc/static/man/TIFFSetField.3tiff.html (renamed from html/man/TIFFSetField.3tiff.html)16
-rw-r--r--doc/static/man/TIFFWarning.3tiff.html111
-rw-r--r--doc/static/man/TIFFWriteDirectory.3tiff.html184
-rw-r--r--doc/static/man/TIFFWriteEncodedStrip.3tiff.html147
-rw-r--r--doc/static/man/TIFFWriteEncodedTile.3tiff.html142
-rw-r--r--doc/static/man/TIFFWriteRawStrip.3tiff.html140
-rw-r--r--doc/static/man/TIFFWriteRawTile.3tiff.html127
-rw-r--r--doc/static/man/TIFFWriteScanline.3tiff.html203
-rw-r--r--doc/static/man/TIFFWriteTile.3tiff.html110
-rw-r--r--doc/static/man/TIFFbuffer.3tiff.html118
-rw-r--r--doc/static/man/TIFFcodec.3tiff.html118
-rw-r--r--doc/static/man/TIFFcolor.3tiff.html827
-rw-r--r--doc/static/man/TIFFmemory.3tiff.html110
-rw-r--r--doc/static/man/TIFFquery.3tiff.html160
-rw-r--r--doc/static/man/TIFFsize.3tiff.html92
-rw-r--r--doc/static/man/TIFFstrip.3tiff.html136
-rw-r--r--doc/static/man/TIFFswab.3tiff.html110
-rw-r--r--doc/static/man/TIFFtile.3tiff.html148
-rw-r--r--doc/static/man/fax2ps.1.html224
-rw-r--r--doc/static/man/fax2tiff.1.html573
-rw-r--r--doc/static/man/libtiff.3tiff.html3099
-rw-r--r--doc/static/man/pal2rgb.1.html168
-rw-r--r--doc/static/man/ppm2tiff.1.html142
-rw-r--r--doc/static/man/raw2tiff.1.html487
-rw-r--r--doc/static/man/rgb2ycbcr.1.html (renamed from html/man/rgb2ycbcr.1.html)0
-rw-r--r--doc/static/man/thumbnail.1.html (renamed from html/man/thumbnail.1.html)0
-rw-r--r--doc/static/man/tiff2bw.1.html153
-rw-r--r--doc/static/man/tiff2pdf.1.html419
-rw-r--r--doc/static/man/tiff2ps.1.html544
-rw-r--r--doc/static/man/tiff2rgba.1.html165
-rw-r--r--doc/static/man/tiffcmp.1.html144
-rw-r--r--doc/static/man/tiffcp.1.html474
-rw-r--r--doc/static/man/tiffcrop.1.html868
-rw-r--r--doc/static/man/tiffdither.1.html188
-rw-r--r--doc/static/man/tiffdump.1.html128
-rw-r--r--doc/static/man/tiffgt.1.html496
-rw-r--r--doc/static/man/tiffinfo.1.html185
-rw-r--r--doc/static/man/tiffmedian.1.html174
-rw-r--r--doc/static/man/tiffset.1.html141
-rw-r--r--doc/static/man/tiffsplit.1.html134
-rw-r--r--doc/support.rst575
-rw-r--r--doc/tools.rst126
-rw-r--r--doc/v3.4beta007.rst75
-rw-r--r--doc/v3.4beta016.rst71
-rw-r--r--doc/v3.4beta018.rst50
-rw-r--r--doc/v3.4beta024.rst99
-rw-r--r--doc/v3.4beta028.rst105
-rw-r--r--doc/v3.4beta029.rst52
-rw-r--r--doc/v3.4beta031.rst59
-rw-r--r--doc/v3.4beta032.rst53
-rw-r--r--doc/v3.4beta033.rst45
-rw-r--r--doc/v3.4beta034.rst37
-rw-r--r--doc/v3.4beta035.rst32
-rw-r--r--doc/v3.4beta036.rst86
-rw-r--r--doc/v3.5.1.rst41
-rw-r--r--doc/v3.5.2.rst74
-rw-r--r--doc/v3.5.3.rst97
-rw-r--r--doc/v3.5.4.rst45
-rw-r--r--doc/v3.5.5.rst91
-rw-r--r--doc/v3.5.6beta.rst135
-rw-r--r--doc/v3.5.7.rst219
-rw-r--r--doc/v3.6.0.rst372
-rw-r--r--doc/v3.6.1.rst135
-rw-r--r--doc/v3.7.0.rst78
-rw-r--r--doc/v3.7.0alpha.rst179
-rw-r--r--doc/v3.7.0beta.rst98
-rw-r--r--doc/v3.7.0beta2.rst69
-rw-r--r--doc/v3.7.1.rst160
-rw-r--r--doc/v3.7.2.rst142
-rw-r--r--doc/v3.7.3.rst169
-rw-r--r--doc/v3.7.4.rst84
-rw-r--r--doc/v3.8.0.rst140
-rw-r--r--doc/v3.8.1.rst147
-rw-r--r--doc/v3.8.2.rst76
-rw-r--r--doc/v3.9.0.rst203
-rw-r--r--doc/v3.9.0beta.rst225
-rw-r--r--doc/v3.9.1.rst63
-rw-r--r--doc/v3.9.2.rst67
-rw-r--r--doc/v3.9.3.rst105
-rw-r--r--doc/v3.9.4.rst69
-rw-r--r--doc/v3.9.5.rst217
-rw-r--r--doc/v4.0.0.rst213
-rw-r--r--doc/v4.0.1.rst60
-rw-r--r--doc/v4.0.10.rst239
-rw-r--r--doc/v4.0.2.rst64
-rw-r--r--doc/v4.0.3.rst68
-rw-r--r--doc/v4.0.4.rst191
-rw-r--r--doc/v4.0.4beta.rst236
-rw-r--r--doc/v4.0.5.rst85
-rw-r--r--doc/v4.0.6.rst77
-rw-r--r--doc/v4.0.7.rst350
-rw-r--r--doc/v4.0.8.rst390
-rw-r--r--doc/v4.0.9.rst317
-rw-r--r--doc/v4.1.0.rst96
-rw-r--r--doc/v4.2.0.rst103
-rw-r--r--doc/v4.3.0.rst85
-rw-r--r--doc/v4.4.0.rst98
-rw-r--r--html/BigTIFFProposal.html99
-rw-r--r--html/CMakeLists.txt95
-rw-r--r--html/Makefile.am101
-rw-r--r--html/addingtags.html304
-rw-r--r--html/bigtiffdesign.html81
-rw-r--r--html/bigtiffpr.html77
-rw-r--r--html/bugs.html67
-rw-r--r--html/build.html561
-rw-r--r--html/contrib.html202
-rw-r--r--html/document.html57
-rw-r--r--html/images.html46
-rw-r--r--html/images/CMakeLists.txt44
-rw-r--r--html/images/Makefile.am49
-rw-r--r--html/index.html123
-rw-r--r--html/internals.html572
-rw-r--r--html/libtiff.html747
-rw-r--r--html/man/CMakeLists.txt106
-rw-r--r--html/man/Makefile.am122
-rw-r--r--html/man/TIFFClose.3tiff.html87
-rw-r--r--html/man/TIFFDataWidth.3tiff.html98
-rw-r--r--html/man/TIFFError.3tiff.html106
-rw-r--r--html/man/TIFFFlush.3tiff.html113
-rw-r--r--html/man/TIFFOpen.3tiff.html421
-rw-r--r--html/man/TIFFPrintDirectory.3tiff.html225
-rw-r--r--html/man/TIFFRGBAImage.3tiff.html319
-rw-r--r--html/man/TIFFReadDirectory.3tiff.html218
-rw-r--r--html/man/TIFFReadEncodedStrip.3tiff.html133
-rw-r--r--html/man/TIFFReadEncodedTile.3tiff.html130
-rw-r--r--html/man/TIFFReadRGBAImage.3tiff.html301
-rw-r--r--html/man/TIFFReadRGBAStrip.3tiff.html208
-rw-r--r--html/man/TIFFReadRGBATile.3tiff.html261
-rw-r--r--html/man/TIFFReadRawStrip.3tiff.html109
-rw-r--r--html/man/TIFFReadRawTile.3tiff.html111
-rw-r--r--html/man/TIFFReadScanline.3tiff.html157
-rw-r--r--html/man/TIFFReadTile.3tiff.html133
-rw-r--r--html/man/TIFFSetDirectory.3tiff.html122
-rw-r--r--html/man/TIFFWarning.3tiff.html108
-rw-r--r--html/man/TIFFWriteDirectory.3tiff.html176
-rw-r--r--html/man/TIFFWriteEncodedStrip.3tiff.html153
-rw-r--r--html/man/TIFFWriteEncodedTile.3tiff.html147
-rw-r--r--html/man/TIFFWriteRawStrip.3tiff.html144
-rw-r--r--html/man/TIFFWriteRawTile.3tiff.html128
-rw-r--r--html/man/TIFFWriteScanline.3tiff.html206
-rw-r--r--html/man/TIFFWriteTile.3tiff.html115
-rw-r--r--html/man/TIFFbuffer.3tiff.html116
-rw-r--r--html/man/TIFFcodec.3tiff.html116
-rw-r--r--html/man/TIFFcolor.3tiff.html975
-rw-r--r--html/man/TIFFmemory.3tiff.html110
-rw-r--r--html/man/TIFFquery.3tiff.html148
-rw-r--r--html/man/TIFFsize.3tiff.html95
-rw-r--r--html/man/TIFFstrip.3tiff.html129
-rw-r--r--html/man/TIFFswab.3tiff.html110
-rw-r--r--html/man/TIFFtile.3tiff.html141
-rw-r--r--html/man/fax2ps.1.html252
-rw-r--r--html/man/fax2tiff.1.html607
-rw-r--r--html/man/index.html64
-rw-r--r--html/man/libtiff.3tiff.html1150
-rw-r--r--html/man/pal2rgb.1.html189
-rw-r--r--html/man/ppm2tiff.1.html141
-rw-r--r--html/man/raw2tiff.1.html510
-rw-r--r--html/man/tiff2bw.1.html161
-rw-r--r--html/man/tiff2pdf.1.html609
-rw-r--r--html/man/tiff2ps.1.html639
-rw-r--r--html/man/tiff2rgba.1.html162
-rw-r--r--html/man/tiffcmp.1.html156
-rw-r--r--html/man/tiffcp.1.html569
-rw-r--r--html/man/tiffcrop.1.html684
-rw-r--r--html/man/tiffdither.1.html196
-rw-r--r--html/man/tiffdump.1.html145
-rw-r--r--html/man/tiffgt.1.html551
-rw-r--r--html/man/tiffinfo.1.html196
-rw-r--r--html/man/tiffmedian.1.html183
-rw-r--r--html/man/tiffset.1.html176
-rw-r--r--html/man/tiffsplit.1.html102
-rw-r--r--html/support.html655
-rw-r--r--html/tools.html142
-rw-r--r--html/v3.4beta007.html113
-rw-r--r--html/v3.4beta016.html123
-rw-r--r--html/v3.4beta018.html85
-rw-r--r--html/v3.4beta024.html140
-rw-r--r--html/v3.4beta028.html147
-rw-r--r--html/v3.4beta029.html87
-rw-r--r--html/v3.4beta031.html95
-rw-r--r--html/v3.4beta032.html91
-rw-r--r--html/v3.4beta033.html83
-rw-r--r--html/v3.4beta034.html69
-rw-r--r--html/v3.4beta035.html64
-rw-r--r--html/v3.4beta036.html118
-rw-r--r--html/v3.5.1.html76
-rw-r--r--html/v3.5.2.html109
-rw-r--r--html/v3.5.3.html133
-rw-r--r--html/v3.5.4.html89
-rw-r--r--html/v3.5.5.html156
-rw-r--r--html/v3.5.6-beta.html186
-rw-r--r--html/v3.5.7.html260
-rw-r--r--html/v3.6.0.html435
-rw-r--r--html/v3.6.1.html200
-rw-r--r--html/v3.7.0.html145
-rw-r--r--html/v3.7.0alpha.html250
-rw-r--r--html/v3.7.0beta.html163
-rw-r--r--html/v3.7.0beta2.html132
-rw-r--r--html/v3.7.1.html234
-rw-r--r--html/v3.7.2.html223
-rw-r--r--html/v3.7.3.html231
-rw-r--r--html/v3.7.4.html134
-rw-r--r--html/v3.8.0.html200
-rw-r--r--html/v3.8.1.html218
-rw-r--r--html/v3.8.2.html138
-rw-r--r--html/v3.9.0.html262
-rw-r--r--html/v3.9.0beta.html305
-rw-r--r--html/v3.9.1.html116
-rw-r--r--html/v3.9.2.html123
-rw-r--r--html/v3.9.3.html161
-rw-r--r--html/v3.9.4.html126
-rw-r--r--html/v3.9.5.html271
-rw-r--r--html/v4.0.0.html270
-rw-r--r--html/v4.0.1.html114
-rw-r--r--html/v4.0.10.html327
-rw-r--r--html/v4.0.2.html119
-rw-r--r--html/v4.0.3.html126
-rw-r--r--html/v4.0.4.html275
-rw-r--r--html/v4.0.4beta.html292
-rw-r--r--html/v4.0.5.html149
-rw-r--r--html/v4.0.6.html140
-rw-r--r--html/v4.0.7.html412
-rw-r--r--html/v4.0.8.html446
-rw-r--r--html/v4.0.9.html374
-rw-r--r--html/v4.1.0.html205
-rw-r--r--html/v4.2.0.html207
-rw-r--r--html/v4.3.0.html186
-rw-r--r--html/v4.4.0.html200
303 files changed, 26320 insertions, 28383 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3ee1b24c..51ce39c3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -34,7 +34,8 @@ coverity:
pages:
stage: pages
script:
- - cp -r html public
+ - sh build/gitlab-ci cmake "Ninja" Debug
+ - cp -r cmake-install/share/doc/tiff/manual public
artifacts:
name: $CI_PROJECT_NAME-$CI_JOB_NAME
paths:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e886e3a5..abd4b917 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,7 +140,7 @@ add_subdirectory(test)
add_subdirectory(contrib)
add_subdirectory(build)
add_subdirectory(man)
-add_subdirectory(html)
+add_subdirectory(doc)
# pkg-config support
include(PkgConfig)
diff --git a/ChangeLog b/ChangeLog
index b1eb5cd8..bab7c008 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6077,7 +6077,7 @@
2016-12-03 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip() to
- instantiate compute ntrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip),
+ instantiate compute nstrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip),
instead of a logic based on the total size of data. Which is faulty is
the total size of data is not sufficient to fill the whole image, and thus
results in reading outside of the StripByCounts/StripOffsets arrays when
diff --git a/Makefile.am b/Makefile.am
index aaabf4d1..9b6ff94f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,7 +58,7 @@ distcheck-hook:
rm -rf $(distdir)/_build/cmake
rm -rf $(distdir)/_inst/cmake
-SUBDIRS = port libtiff tools build contrib test man html
+SUBDIRS = port libtiff tools build contrib test doc man
release:
(rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE)
diff --git a/cmake/Sphinx.cmake b/cmake/Sphinx.cmake
new file mode 100644
index 00000000..8b78d41c
--- /dev/null
+++ b/cmake/Sphinx.cmake
@@ -0,0 +1,92 @@
+# #%L
+# OME Files C++ libraries (cmake build infrastructure)
+# %%
+# Copyright © 2015 Open Microscopy Environment:
+# - Massachusetts Institute of Technology
+# - National Institutes of Health
+# - University of Dundee
+# - Board of Regents of the University of Wisconsin-Madison
+# - Glencoe Software, Inc.
+# %%
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation are
+# those of the authors and should not be interpreted as representing official
+# policies, either expressed or implied, of any organization.
+# #L%
+
+find_package(Python3 COMPONENTS Interpreter)
+
+# Sphinx documentation generator
+find_program(SPHINX_BUILD sphinx-build)
+if (SPHINX_BUILD)
+ message(STATUS "Looking for sphinx-build - ${SPHINX_BUILD}")
+else()
+ message(STATUS "Looking for sphinx-build - not found")
+endif()
+
+set(SPHINX_DEFAULT OFF)
+if(SPHINX_BUILD)
+ set(SPHINX_DEFAULT ON)
+endif()
+option(sphinx "Enable sphinx manual page and HTML documentation" ${SPHINX_DEFAULT})
+option(sphinx-linkcheck "Check sphinx documentation links by default" OFF)
+
+set(BUILD_SPHINX ${sphinx})
+
+set(_ome_sphinx_list_dir "${CMAKE_CURRENT_LIST_DIR}")
+
+function(sphinx_manpages srcdir confdir mandir manvar)
+ execute_process(COMMAND "${Python3_EXECUTABLE}" -B ${_ome_sphinx_list_dir}/list-manpages.py
+ "${confdir}" "${srcdir}" "${mandir}"
+ RESULT_VARIABLE sphinx_man_fail
+ OUTPUT_VARIABLE MAN_PAGES)
+ if (sphinx_man_fail)
+ message(WARNING "Failed to get generated sphinx manual pages from ${confdir}")
+ endif()
+ string(REPLACE "\n" ";" MAN_PAGES "${MAN_PAGES}")
+ set(${manvar} "${MAN_PAGES}" PARENT_SCOPE)
+endfunction(sphinx_manpages)
+
+function(sphinx_manpage_dependencies srcdir confdir depvar)
+ execute_process(COMMAND "${Python3_EXECUTABLE}" -B ${_ome_sphinx_list_dir}/list-manpage-dependencies.py
+ "${confdir}"
+ "${srcdir}"
+ RESULT_VARIABLE sphinx_dep_fail
+ OUTPUT_VARIABLE SPHINX_MAN_DEPENDENCIES)
+ if (sphinx_dep_fail)
+ message(WARNING "Failed to get Sphinx dependencies from ${confdir}")
+ endif()
+ string(REPLACE "\n" ";" SPHINX_MAN_DEPENDENCIES "${SPHINX_MAN_DEPENDENCIES}")
+ set(${depvar} "${SPHINX_MAN_DEPENDENCIES}" PARENT_SCOPE)
+endfunction(sphinx_manpage_dependencies)
+
+function(sphinx_dependencies srcdir depvar)
+ file(GLOB_RECURSE CRUDE_SPHINX_DEPENDENCIES "${srcdir}/*.rst")
+ foreach(file ${CRUDE_SPHINX_DEPENDENCIES})
+ string(FIND "${file}" "_build" FILE_MATCH)
+ if(FILE_MATCH EQUAL -1)
+ list(APPEND SPHINX_DEPENDENCIES "${file}")
+ endif()
+ endforeach()
+ set(${depvar} "${SPHINX_DEPENDENCIES}" PARENT_SCOPE)
+endfunction(sphinx_dependencies)
diff --git a/cmake/SphinxCheckInternalLinks.cmake b/cmake/SphinxCheckInternalLinks.cmake
new file mode 100644
index 00000000..32c2566e
--- /dev/null
+++ b/cmake/SphinxCheckInternalLinks.cmake
@@ -0,0 +1,87 @@
+# Check "local" sphinx links, using files in the build tree and in the
+# install tree (other components)
+
+message(STATUS "Checking internal links")
+
+set(failed OFF)
+
+file(STRINGS "${OUTPUT}" output)
+file(REMOVE "${OUTPUT}.new")
+foreach(line IN LISTS output)
+ # Parse the filename, link type, link and anchor from each line
+ string(REGEX MATCH "^.*: \\[.*\\] .*" line_match "${line}")
+ string(REGEX MATCH "^.*: \\[.*\\] .*#.*" anchor_match "${line}")
+ if(line_match)
+ string(REGEX REPLACE "^(.*): \\[(.*)\\] (.*)" "\\1" filename "${line}")
+ string(REGEX REPLACE "^(.*): \\[(.*)\\] (.*)" "\\2" type "${line}")
+ if(anchor_match)
+ string(REGEX REPLACE "^(.*): \\[(.*)\\] (.*)#(.*)" "\\3" link "${line}")
+ string(REGEX REPLACE "^(.*): \\[(.*)\\] (.*)#(.*)" "\\4" link "${anchor}")
+ else()
+ string(REGEX REPLACE "^(.*): \\[(.*)\\] (.*)" "\\3" link "${line}")
+ unset(anchor)
+ endif()
+
+ # Only check local links
+ if(type STREQUAL "local")
+ # Compute path relative to our install path
+ file(RELATIVE_PATH relpath "/" "/${SPHINX_INSTALL_PATH}/${link}")
+
+ # Check sphinx link in the install tree
+ unset(linkfile)
+ if(EXISTS "${EXTERNAL_REFERENCE}/${relpath}")
+ set(linkfile "${EXTERNAL_REFERENCE}/${relpath}")
+ endif()
+ # Check sphinx link in the build tree
+ if(EXISTS "${INTERNAL_REFERENCE}/${link}")
+ set(linkfile "${INTERNAL_REFERENCE}/${link}")
+ endif()
+ # Check doxygen link in the install tree
+ if(EXISTS "${DOXYGEN_REFERENCE}/${link}")
+ set(linkfile "${DOXYGEN_REFERENCE}/${link}")
+ endif()
+ # Check doxygen link in the build tree
+ if(DOXYGEN_REFERENCE AND DOXYGEN_INSTALL_PATH)
+ string(REGEX REPLACE "^${DOXYGEN_INSTALL_PATH}/(.*)" "\\1" doxygen_path "${relpath}")
+ if(EXISTS "${DOXYGEN_REFERENCE}/${doxygen_path}")
+ set(linkfile "${DOXYGEN_REFERENCE}/${doxygen_path}")
+ endif()
+ endif()
+ # Check link and any anchor. If the link does not exist, or the
+ # anchor does not exist, set the link type to broken when
+ # rewriting the output file with our test results.
+ if(linkfile)
+ if(anchor)
+ file(STRINGS "${linkfile}" anchor_matches REGEX "<a +class=\"anchor\" +id=\"${anchor}\"")
+ if(anchor_matches)
+ file(APPEND "${OUTPUT}.new" "${filename}: [${type}] ${link}#${anchor}\n")
+ else()
+ set(failed ON)
+ file(APPEND "${OUTPUT}.new" "${filename}: [broken] ${link}#${anchor}\n")
+ message(STATUS "Broken link: ${filename}: ${link}#${anchor}")
+ endif()
+ else()
+ file(APPEND "${OUTPUT}.new" "${filename}: [${type}] ${link}\n")
+ endif()
+ else()
+ set(failed ON)
+ file(APPEND "${OUTPUT}.new" "${filename}: [broken] ${link}\n")
+ message(STATUS "Broken link: ${filename}: ${link}")
+ endif()
+ else()
+ if(type STREQUAL "broken")
+ set(failed ON)
+ message(STATUS "Broken link: ${filename}: ${link}")
+ endif()
+ file(APPEND "${OUTPUT}.new" "${filename}: [${type}] ${link}\n")
+ endif()
+ else()
+ file(APPEND "${OUTPUT}.new" "${line}\n")
+ endif()
+endforeach()
+
+file(RENAME "${OUTPUT}.new" "${OUTPUT}")
+
+if(failed)
+ message(FATAL_ERROR "Broken links detected")
+endif()
diff --git a/cmake/list-manpage-dependencies.py b/cmake/list-manpage-dependencies.py
new file mode 100644
index 00000000..186507d1
--- /dev/null
+++ b/cmake/list-manpage-dependencies.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+# Find manual page dependencies
+# argv1 = doc dir containing conf.py
+
+import importlib.util
+import os.path
+import sys
+
+if __name__ == "__main__":
+
+ if len(sys.argv) != 3:
+ sys.exit("Usage: %s sphinx-confdir sphinx-srcdir" % (sys.argv[0]))
+
+ dir = os.path.abspath(sys.argv[1])
+ spec = importlib.util.spec_from_file_location('conf', os.path.join(dir, 'conf.py'))
+ conf = importlib.util.module_from_spec(spec)
+
+ if hasattr(conf, 'man_pages'):
+ for man in conf.man_pages:
+ print(os.path.join(sys.argv[2], "%s%s" %
+ (man[0], conf.source_suffix)))
+ print(os.path.join(dir, 'conf.py'))
diff --git a/cmake/list-manpages.py b/cmake/list-manpages.py
new file mode 100644
index 00000000..8087d297
--- /dev/null
+++ b/cmake/list-manpages.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+# Find manual pages to be generated
+# argv1 = doc dir containing conf.py
+# argv2 = manpage directory to contain generated manpages
+
+import importlib.util
+import os.path
+import sys
+
+if __name__ == "__main__":
+
+ if len(sys.argv) != 4:
+ sys.exit("Usage: %s sphinx-confdir sphinx-srcdir manpage-dir" %
+ (sys.argv[0]))
+
+ dir = os.path.abspath(sys.argv[1])
+ spec = importlib.util.spec_from_file_location('conf', os.path.join(dir, 'conf.py'))
+ conf = importlib.util.module_from_spec(spec)
+
+ if hasattr(conf, 'man_pages'):
+ for man in conf.man_pages:
+ print(os.path.join(sys.argv[3], "%s.%s" % (man[1], man[4])))
diff --git a/configure.ac b/configure.ac
index 7706011b..a5b1e811 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1093,8 +1093,23 @@ if test "$CHECK_JPEG_YCBCR_SUBSAMPLING" = "yes" ; then
[Pick up YCbCr subsampling info from the JPEG data stream to support files lacking the tag (default enabled).])
fi
+
+AC_ARG_ENABLE(sphinx,
+ AS_HELP_STRING([--disable-sphinx],
+ [disable building of the sphinx documentation]),
+ [BUILD_SPHINX=$enableval],
+ [BUILD_SPHINX=yes])
+
+
+
+AC_PATH_PROG(SPHINX_BUILD, [sphinx-build], [no])
+
+AM_CONDITIONAL([SPHINX], [test "$BUILD_SPHINX" = yes -a "$SPHINX_BUILD" != no])
+
+
dnl ---------------------------------------------------------------------------
+
AC_SUBST(LIBDIR)
AC_CONFIG_HEADERS([config/config.h libtiff/tif_config.h libtiff/tiffconf.h port/libport_config.h])
@@ -1112,9 +1127,7 @@ AC_CONFIG_FILES([Makefile \
contrib/stream/Makefile \
contrib/tags/Makefile \
contrib/win_dib/Makefile \
- html/Makefile \
- html/images/Makefile \
- html/man/Makefile \
+ doc/Makefile \
libtiff-4.pc \
libtiff/Makefile \
man/Makefile \
diff --git a/doc/BigTIFFProposal.rst b/doc/BigTIFFProposal.rst
new file mode 100644
index 00000000..f4b19bb4
--- /dev/null
+++ b/doc/BigTIFFProposal.rst
@@ -0,0 +1,120 @@
+Proposal to Implement BigTIFF Support in LibTiff
+================================================
+
+**NEWS:** We have located all four required sponsors. There are no more
+open slots. We will issue appropriate press release shortly.
+
+0. Summary
+----------
+
+BigTIFF logically extends the original TIFF file format (referred to as
+'ClassicTIFF' from this point on), breaking the 4 gigabyte boundary, in theory
+allowing files up to 18,000 petabytes in size. The BigTIFF specification is the
+result of work by a variety of parties on the LibTiff mailing list, including
+the current LibTiff maintainers, Joris Van Damme and Adobe staff. The BigTIFF
+specification has not yet been officially approved by the TIFF specification
+owner (Adobe) but implementation within LibTiff could accelerate that
+process.
+
+For more information on the BigTIFF file format, we recommend
+`AWare Systems' BigTIFF page <http://www.awaresystems.be/imaging/tiff/bigtiff.html>`_.
+
+BigTIFF is expected to be especially useful for people and vendors that are
+confronted with unusually large images, and still seek to use an open, simple,
+and extendable format. This requirement is frequently seen in the geospatial
+field, but also affects large format scanners, medical imaging and other
+fields.
+
+1. Sponsoring
+-------------
+
+It is planned that LibTiff 4.0, the BigTIFF upgrade to LibTiff, would start
+March 1, 2007. A preliminary version (LibTiff 4.0alpha1) will be operational by
+June 15, 2007. Testing and final release improvements for LibTiff 4.0 will be
+completed by July 30, 2007.
+
+The LibTiff BigTIFF upgrade team is seeking USD 24,000 from four sponsors (USD
+6,000 each) to fund the project. Sponsorship payment will be invoiced upon
+delivery of the LibTiff 4.0alpha1 release (on or before June 15) with a 30 day
+payable, giving time for some technical review.
+
+In addition to the benefits of open interchange of BigTIFF data that comes from
+support in a public and free open source codec, sponsors will be given proper
+public acknowledgment. During development, they will be mentioned in the
+appropriate sections of the LibTiff and AWare Systems site.
+
+When LibTiff 4.0 with BigTIFF support is released, they will additionally
+receive public acknowledgment in a formal press release, distributed widely to
+news venues in the imaging and geospatial industries.
+
+A 'migration guide' document or any functional equivalent thereof will be
+included in the standard free distribution, but sponsors will additionally
+receive up to 20 hours of consulting and support on any BigTIFF migration issues
+that they may be facing, and/or any additional related requests they may have.
+
+2. Development and Testing
+--------------------------
+
+The work will primarily be done by Joris Van Damme on behalf of his company
+AWare Systems. Joris was closely involved in the drafting of the BigTIFF file
+format proposal, and has also developed the proprietary AWare Systems TIFF
+codec that already supports BigTIFF. Joris Van Damme has a deep understanding
+of the TIFF format, and has been acting as a LibTiff co-maintainer for over a
+year, contributing the upgraded OJPEG codec as well as several other
+improvements.
+
+Joris and AWare Systems have agreed to crosstest their proprietary codec and
+LibTiff's support for BigTIFF extensively. Joris will also extend the test image
+library included with LibTiff, with a number of varying BigTIFF test files.
+These files will primarily include test files with issues that relate closely
+to the BigTIFF file format and the difference with ClassicTIFF. For instance,
+in BigTIFF the datatypes TIFF_LONG, TIFF_LONG8, TIFF_IFD and TIFF_IFD8 are all
+valid for tags pointing to additional IFDs, and thus files will be included to
+illustrate and enable testing all of these. Additionally, Joris will build a
+tool to enable creating test files that exceed 4 gigabyte, as these can of
+course not be included in the test suite in a more direct manner, and a tool to
+convert files from ClassicTIFF to BigTIFF, as well as the other way around for
+source BigTIFF files that do not exceed 4 gigabyte in size.
+
+Frank Warmerdam has also agreed to be involved in a consulting and validation
+role. Frank has been LibTiff's primary maintainer since approximately the year
+2000, develops large-image exploitation software for the geospatial industry
+(GDAL) and is currently President of the Open Source Geospatial Foundation
+(OSGeo). Frank will also be ensuring that BigTIFF improvements are made
+accessible to all users of the GDAL library.
+
+3. Implementation Strategy
+--------------------------
+
+Many people who have a need for BigTIFF, use LibTiff already. We thus plan to
+support BigTIFF in LibTiff, applying a minimum change strategy much like the
+one that was applied in the creation of the new file format in the first
+place.
+
+To support BigTIFF, we will use a 64bit integer datatype. It is anticipated
+that some older platforms will not be able to comply with this need, and for
+that reason we will encapsulate all required changes inside a conditional
+compilation switch.
+
+While it is anticipated that there will be ABI (application binary interface)
+changes as part of a BigTIFF support upgrade to LibTiff, and possibly some
+more to support other major upgrades to LibTiff, the plan is such that
+the source level API will remain compatible for most LibTiff applications.
+Applications using specialized interfaces may require some minor source code
+changes, but we will provide backwards compatibility to support the majority
+of existing application level code.
+
+The resulting LibTiff version would transparently support reading traditional
+32bit ClassicTIFF files, and 64bit BigTIFF files, as well as writing either
+ClassicTIFF or BigTIFF files based on a flag in the TIFFOpen/TIFFClientOpen call.
+
+4. Intellectual Property and Licensing
+--------------------------------------
+
+The licensing agreement of LibTiff will remain unchanged.
+
+5. Contact information
+----------------------
+Please contact `Frank Warmerdam <warmerdam@pobox.com>`_ and/or
+`Joris Van Damme <info@awaresystems.be>`_ for more information
+on sponsorship agreements.
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 00000000..d337ca13
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,221 @@
+# CMake build for libtiff
+# Run "cmake" to generate the build files for your platform
+#
+# Copyright © 2015 Open Microscopy Environment / University of Dundee
+# Copyright © 2021-2022 Roger Leigh <rleigh@codelibre.net>
+# Written by Roger Leigh <rleigh@codelibre.net>
+#
+# Permission to use, copy, modify, distribute, and sell this software and
+# its documentation for any purpose is hereby granted without fee, provided
+# that (i) the above copyright notices and this permission notice appear in
+# all copies of the software and related documentation, and (ii) the names of
+# Sam Leffler and Silicon Graphics may not be used in any advertising or
+# publicity relating to the software without the specific, prior written
+# permission of Sam Leffler and Silicon Graphics.
+#
+# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+#
+# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+# OF THIS SOFTWARE.
+
+cmake_minimum_required(VERSION 3.2.0)
+
+include(Sphinx)
+
+if (BUILD_SPHINX AND SPHINX_BUILD)
+ message(STATUS "Checking manual page dependencies")
+
+ # Create build directory and conf.py
+ set(sphinx_srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
+ set(sphinx_builddir "${CMAKE_CURRENT_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${sphinx_builddir}")
+
+ sphinx_manpages("${sphinx_srcdir}" "${sphinx_builddir}"
+ "${PROJECT_BINARY_DIR}/man" MAN_PAGES)
+ sphinx_manpage_dependencies("${sphinx_srcdir}" "${sphinx_builddir}"
+ MAN_PAGE_DEPENDENCIES)
+ sphinx_dependencies("${sphinx_srcdir}" SPHINX_DEPENDENCIES)
+
+ # Generate and install man pages
+
+ unset(man_target)
+ if(MAN_PAGES)
+ add_custom_command(OUTPUT ${MAN_PAGES}
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${sphinx_builddir}/cache"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/man"
+ COMMAND ${SPHINX_BUILD}
+ -D "release=${LIBTIFF_VERSION_FULL}"
+ -D "version=${tiff_VERSION_MAJOR}.${tiff_VERSION_MINOR}"
+ -D "srcdir=${sphinx_srcdir}"
+ -D "builddir=${sphinx_builddir}"
+ -c "${sphinx_builddir}"
+ -d "${sphinx_builddir}/cache"
+ -b man
+ "${sphinx_srcdir}" "${PROJECT_BINARY_DIR}/man"
+ WORKING_DIRECTORY "${sphinx_srcdir}"
+ DEPENDS ${MAN_PAGE_DEPENDENCIES})
+
+ if(NOT TARGET man)
+ add_custom_target(man ALL)
+ endif()
+ add_custom_target(${PROJECT_NAME}-man DEPENDS ${MAN_PAGES})
+ add_dependencies(man ${PROJECT_NAME}-man)
+ set(man_target ${PROJECT_NAME}-man)
+
+ foreach (man ${MAN_PAGES})
+ string(REGEX REPLACE ".*(.)\$" "\\1" man_section "${man}")
+ install(FILES "${man}"
+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man${man_section}"
+ COMPONENT "runtime")
+ endforeach()
+ endif()
+
+ # Generate and install HTML manual
+ # Depends on man to allow sharing of cache with parallel build.
+
+ add_custom_command(OUTPUT "${sphinx_builddir}/html/index.html"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${sphinx_builddir}/cache"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${sphinx_builddir}/html"
+ COMMAND ${SPHINX_BUILD}
+ -D "release=${tiff_VERSION}"
+ -D "version=${tiff_VERSION_MAJOR}.${tiff_VERSION_MINOR}"
+ -D "srcdir=${sphinx_srcdir}"
+ -D "builddir=${sphinx_builddir}"
+ -d "${sphinx_builddir}/cache"
+ -b html
+ "${sphinx_srcdir}" "${sphinx_builddir}/html"
+ WORKING_DIRECTORY "${sphinx_srcdir}"
+ DEPENDS ${man_target} ${SPHINX_DEPENDENCIES})
+
+ if(NOT TARGET doc-html)
+ add_custom_target(doc-html ALL)
+ endif()
+ add_custom_target(${PROJECT_NAME}-doc-html DEPENDS "${sphinx_builddir}/html/index.html")
+ add_dependencies(doc-html ${PROJECT_NAME}-doc-html)
+
+ install(DIRECTORY "${sphinx_builddir}/html"
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}/manual"
+ COMPONENT "runtime")
+
+ if(sphinx-linkcheck)
+ set(sphinx_linkcheck_all ALL)
+ endif()
+
+ if(NOT TARGET doc-linkcheck)
+ add_custom_target(doc-linkcheck)
+ endif()
+ add_custom_target(${PROJECT_NAME}-doc-linkcheck ${sphinx_linkcheck_all}
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${sphinx_builddir}/cache"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${sphinx_builddir}/linkcheck"
+ COMMAND ${SPHINX_BUILD}
+ -D "release=${tiff_VERSION}"
+ -D "version=${tiff_VERSION_MAJOR}.${tiff_VERSION_MINOR}"
+ -c "${sphinx_builddir}"
+ -d "${sphinx_builddir}/cache"
+ -b linkcheck
+ "${sphinx_srcdir}" "${sphinx_builddir}/linkcheck"
+ COMMENT "Checking remote links in sphinx documentation"
+ WORKING_DIRECTORY "${sphinx_srcdir}"
+ DEPENDS doc-api ${man_target} ${SPHINX_DEPENDENCIES})
+ add_dependencies(doc-linkcheck ${PROJECT_NAME}-doc-linkcheck)
+
+ if(NOT TARGET doc-locallinkcheck)
+ add_custom_target(doc-locallinkcheck)
+ endif()
+ add_custom_target(${PROJECT_NAME}-doc-locallinkcheck ${sphinx_linkcheck_all}
+ COMMAND ${CMAKE_COMMAND}
+ "-DOUTPUT=${sphinx_builddir}/linkcheck/output.txt"
+ "-DSPHINX_INSTALL_PATH=${PROJECT_NAME}/manual/html"
+ "-DINTERNAL_REFERENCE=${sphinx_builddir}/html"
+ "-DEXTERNAL_REFERENCE=${CMAKE_INSTALL_FULL_DATAROOTDIR}/doc"
+ "-DDOXYGEN_REFERENCE=${PROJECT_BINARY_DIR}/docs/doxygen/api"
+ "-DDOXYGEN_INSTALL_PATH=${PROJECT_NAME}/api"
+ -P "${PROJECT_SOURCE_DIR}/cmake/SphinxCheckInternalLinks.cmake"
+ COMMENT "Checking local links in sphinx documentation"
+ WORKING_DIRECTORY "${sphinx_srcdir}"
+ DEPENDS doc-linkcheck)
+ add_dependencies(doc-locallinkcheck ${PROJECT_NAME}-doc-locallinkcheck)
+else()
+ message(WARNING "Manual pages and HTML manual will not be generated or installed")
+endif()
+
+set(html_manpages
+ libtiff.3tiff.html
+ TIFFbuffer.3tiff.html
+ TIFFClose.3tiff.html
+ TIFFcodec.3tiff.html
+ TIFFcolor.3tiff.html
+ TIFFDataWidth.3tiff.html
+ TIFFError.3tiff.html
+ TIFFFieldDataType.3tiff.html
+ TIFFFieldName.3tiff.html
+ TIFFFieldPassCount.3tiff.html
+ TIFFFieldReadCount.3tiff.html
+ TIFFFieldTag.3tiff.html
+ TIFFFieldWriteCount.3tiff.html
+ TIFFFlush.3tiff.html
+ TIFFGetField.3tiff.html
+ TIFFmemory.3tiff.html
+ TIFFOpen.3tiff.html
+ TIFFPrintDirectory.3tiff.html
+ TIFFquery.3tiff.html
+ TIFFReadDirectory.3tiff.html
+ TIFFReadEncodedStrip.3tiff.html
+ TIFFReadEncodedTile.3tiff.html
+ TIFFReadRawStrip.3tiff.html
+ TIFFReadRawTile.3tiff.html
+ TIFFReadRGBAImage.3tiff.html
+ TIFFReadRGBAStrip.3tiff.html
+ TIFFReadRGBATile.3tiff.html
+ TIFFReadScanline.3tiff.html
+ TIFFReadTile.3tiff.html
+ TIFFRGBAImage.3tiff.html
+ TIFFSetDirectory.3tiff.html
+ TIFFSetField.3tiff.html
+ TIFFsize.3tiff.html
+ TIFFstrip.3tiff.html
+ TIFFswab.3tiff.html
+ TIFFtile.3tiff.html
+ TIFFWarning.3tiff.html
+ TIFFWriteDirectory.3tiff.html
+ TIFFWriteEncodedStrip.3tiff.html
+ TIFFWriteEncodedTile.3tiff.html
+ TIFFWriteRawStrip.3tiff.html
+ TIFFWriteRawTile.3tiff.html
+ TIFFWriteScanline.3tiff.html
+ TIFFWriteTile.3tiff.html
+ fax2ps.1.html
+ fax2tiff.1.html
+ pal2rgb.1.html
+ ppm2tiff.1.html
+ raw2tiff.1.html
+ tiff2bw.1.html
+ tiff2pdf.1.html
+ tiff2ps.1.html
+ tiff2rgba.1.html
+ tiffcmp.1.html
+ tiffcp.1.html
+ tiffcrop.1.html
+ tiffdither.1.html
+ tiffdump.1.html
+ tiffgt.1.html
+ tiffinfo.1.html
+ tiffmedian.1.html
+ tiffset.1.html
+ tiffsplit.1.html)
+
+# htmldoc target to regenerate HTML files
+string(REPLACE ";" "^" escaped_html_manpages "${html_manpages}")
+add_custom_target(htmldoc
+ COMMAND "${CMAKE_COMMAND}"
+ "-DMANSRCDIR=${PROJECT_SOURCE_DIR}/man"
+ "-DHTMLMANDIR=${PROJECT_SOURCE_DIR}/doc/static/man"
+ "-DINDEXFILE=${PROJECT_SOURCE_DIR}/doc/manpages.rst"
+ "-DDOCFILES=${escaped_html_manpages}"
+ -P "${CMAKE_CURRENT_SOURCE_DIR}/HtmlDoc.cmake")
diff --git a/html/man/HtmlDoc.cmake b/doc/HtmlDoc.cmake
index 7e5a1a0c..ac28e8e1 100644
--- a/html/man/HtmlDoc.cmake
+++ b/doc/HtmlDoc.cmake
@@ -24,8 +24,11 @@
string(REPLACE "^" ";" DOCFILES "${DOCFILES}")
-set(INDEXSTART "<html><head><title>Libtiff HTML manpage index</title></head><body bgcolor=white><ul><h2>Man Pages</h2><p>")
-set(INDEXEND "</ul></body></html>")
+set(INDEXSTART "Manual pages
+============
+
+")
+set(INDEXEND "")
set(indexcontent "${INDEXSTART}
")
@@ -40,11 +43,10 @@ foreach(doc ${DOCFILES})
endif()
message(STATUS "Generated ${HTMLMANDIR}/${doc} from ${MANSRCDIR}/${man}")
- set(indexcontent "${indexcontent}<li><a href=\"${doc}\">${man}</a>
+ set(indexcontent "${indexcontent}* `${man} <man/${doc}>`_
")
endforeach()
-set(indexcontent "${indexcontent}${INDEXEND}
-")
-file(WRITE "${HTMLMANDIR}/${INDEXFILE}" "${indexcontent}")
-message(STATUS "Generated ${HTMLMANDIR}/${INDEXFILE}")
+set(indexcontent "${indexcontent}${INDEXEND}")
+file(WRITE "${INDEXFILE}" "${indexcontent}")
+message(STATUS "Generated ${INDEXFILE}")
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 00000000..e928621a
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,157 @@
+#
+# Tag Image File Format (TIFF) Software
+#
+# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
+#
+# Permission to use, copy, modify, distribute, and sell this software and
+# its documentation for any purpose is hereby granted without fee, provided
+# that (i) the above copyright notices and this permission notice appear in
+# all copies of the software and related documentation, and (ii) the names of
+# Sam Leffler and Silicon Graphics may not be used in any advertising or
+# publicity relating to the software without the specific, prior written
+# permission of Sam Leffler and Silicon Graphics.
+#
+# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+#
+# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+# OF THIS SOFTWARE.
+
+# Process this file with automake to produce Makefile.in.
+
+docdir = $(LIBTIFF_DOCDIR)/manual
+
+if SPHINX
+doc-html:
+ $(SPHINX_BUILD) \
+ -D "release=$(LIBTIFF_VERSION)" \
+ -D "version=$(LIBTIFF_MAJOR_VERSION).$(LIBTIFF_MINOR_VERSION)" \
+ -D "srcdir=$(srcdir)" \
+ -D "builddir=$(builddir)" \
+ -d "$(builddir)/cache" \
+ -b html \
+ "$(srcdir)" "$(builddir)/html"
+endif
+
+html/index.html: doc-html
+
+all-local: html/index.html
+
+clean-local:
+ rm -r html
+ rm -r cache
+
+install-data-local:
+ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
+ $(MKDIR_P) '$(DESTDIR)$(docdir)' || exit 1; \
+ echo "$(MKDIR_P) '$(DESTDIR)$(docdir)/_images'"; \
+ $(MKDIR_P) '$(DESTDIR)$(docdir)/_images' || exit 1; \
+ echo "$(MKDIR_P) '$(DESTDIR)$(docdir)/_static'"; \
+ $(MKDIR_P) '$(DESTDIR)$(docdir)/_static' || exit 1; \
+ echo "$(MKDIR_P) '$(DESTDIR)$(docdir)/_sources'"; \
+ $(MKDIR_P) '$(DESTDIR)$(docdir)/_sources' || exit 1; \
+ echo "$(MKDIR_P) '$(DESTDIR)$(docdir)/man'"; \
+ $(MKDIR_P) '$(DESTDIR)$(docdir)/man' || exit 1; \
+ echo "$(INSTALL_DATA) html/*.html html/objects.inv html/searchindex.js '$(DESTDIR)$(docdir)'"; \
+ $(INSTALL_DATA) html/*.html html/objects.inv html/searchindex.js '$(DESTDIR)$(docdir)'; \
+ echo "$(INSTALL_DATA) html/man/*.html '$(DESTDIR)$(docdir)/man'"; \
+ $(INSTALL_DATA) html/man/*.html '$(DESTDIR)$(docdir)/man'; \
+ echo "$(INSTALL_DATA) html/_images/* '$(DESTDIR)$(docdir)/_images'"; \
+ $(INSTALL_DATA) html/_images/* '$(DESTDIR)$(docdir)/_images'; \
+ echo "$(INSTALL_DATA) html/_static/* '$(DESTDIR)$(docdir)/_static'"; \
+ $(INSTALL_DATA) html/_static/* '$(DESTDIR)$(docdir)/_static'; \
+ echo "$(INSTALL_DATA) html/_sources/* '$(DESTDIR)$(docdir)/_sources'"; \
+ $(INSTALL_DATA) html/_sources/* '$(DESTDIR)$(docdir)/_sources'
+
+uninstall-local:
+ echo "rm -r $(DESTDIR)$(docdir)"
+ rm -r $(DESTDIR)$(docdir)
+
+EXTRA_DIST = \
+ CMakeLists.txt \
+ HtmlDoc.cmake \
+ conf.py \
+ bigtiffpr_images \
+ images \
+ static \
+ addingtags.rst \
+ bigtiffdesign.rst \
+ bigtiffpr.rst \
+ BigTIFFProposal.rst \
+ bugs.rst \
+ build.rst \
+ contrib.rst \
+ document.rst \
+ images.rst \
+ index.rst \
+ internals.rst \
+ intro.rst \
+ libtiff.rst \
+ manpages.rst \
+ misc.rst \
+ releases.rst \
+ support.rst \
+ TIFFTechNote2.rst \
+ tools.rst \
+ v3.4beta007.rst \
+ v3.4beta016.rst \
+ v3.4beta018.rst \
+ v3.4beta024.rst \
+ v3.4beta028.rst \
+ v3.4beta029.rst \
+ v3.4beta031.rst \
+ v3.4beta032.rst \
+ v3.4beta033.rst \
+ v3.4beta034.rst \
+ v3.4beta035.rst \
+ v3.4beta036.rst \
+ v3.5.1.rst \
+ v3.5.2.rst \
+ v3.5.3.rst \
+ v3.5.4.rst \
+ v3.5.5.rst \
+ v3.5.6beta.rst \
+ v3.5.7.rst \
+ v3.6.0.rst \
+ v3.6.1.rst \
+ v3.7.0.rst \
+ v3.7.0alpha.rst \
+ v3.7.0beta.rst \
+ v3.7.0beta2.rst \
+ v3.7.1.rst \
+ v3.7.2.rst \
+ v3.7.3.rst \
+ v3.7.4.rst \
+ v3.8.0.rst \
+ v3.8.1.rst \
+ v3.8.2.rst \
+ v3.9.0.rst \
+ v3.9.0beta.rst \
+ v3.9.1.rst \
+ v3.9.2.rst \
+ v3.9.3.rst \
+ v3.9.4.rst \
+ v3.9.5.rst \
+ v4.0.0.rst \
+ v4.0.1.rst \
+ v4.0.10.rst \
+ v4.0.2.rst \
+ v4.0.3.rst \
+ v4.0.4.rst \
+ v4.0.4beta.rst \
+ v4.0.5.rst \
+ v4.0.6.rst \
+ v4.0.7.rst \
+ v4.0.8.rst \
+ v4.0.9.rst \
+ v4.1.0.rst \
+ v4.2.0.rst \
+ v4.3.0.rst \
+ v4.4.0.rst
+
+.PHONY: doc-html
diff --git a/html/TIFFTechNote2.html b/doc/TIFFTechNote2.rst
index 92bace46..92bace46 100644
--- a/html/TIFFTechNote2.html
+++ b/doc/TIFFTechNote2.rst
diff --git a/doc/addingtags.rst b/doc/addingtags.rst
new file mode 100644
index 00000000..0c49847b
--- /dev/null
+++ b/doc/addingtags.rst
@@ -0,0 +1,314 @@
+Modifying The TIFF Library
+==========================
+
+Defining New TIFF Tags
+----------------------
+
+Libtiff has built-in knowledge of all the standard TIFF tags, as
+well as extensions. The following describes how to add knowledge of
+new tags as builtins to libtiff, or how to application specific tags can
+be used by applications without modifying libtiff.
+
+TIFFFieldInfo
+^^^^^^^^^^^^^
+
+How libtiff manages specific tags is primarily controlled by the
+definition for that tag value stored internally as a TIFFFieldInfo structure.
+This structure looks like this:
+
+.. highlight:: c
+
+::
+
+ typedef struct {
+ ttag_t field_tag; /* field's tag */
+ short field_readcount; /* read count / TIFF_VARIABLE / TIFF_VARIABLE2 / TIFF_SPP */
+ short field_writecount; /* write count / TIFF_VARIABLE / TIFF_VARIABLE2 */
+ TIFFDataType field_type; /* type of associated data */
+ unsigned short field_bit; /* bit in fieldsset bit vector */
+ unsigned char field_oktochange; /* if true, can change while writing */
+ unsigned char field_passcount; /* if true, pass dir count on set */
+ char *field_name; /* ASCII name */
+ } TIFFFieldInfo;
+
+
+.. c:member:: ttag_t TIFFFieldInfo.field_tag
+
+ The tag number. For instance 277 for the
+ SamplesPerPixel tag. Builtin tags will generally have a ``#define`` in
+ :file:`tiff.h` for each known tag.
+
+.. c:member:: short TIFFFieldInfo.field_readcount
+
+ The number of values which should be read.
+ The special value :c:macro:`TIFF_VARIABLE` (-1) indicates that a variable number of
+ values may be read. The special value :c:macro:`TIFFTAG_SPP` (-2) indicates that there
+ should be one value for each sample as defined by :c:macro:`TIFFTAG_SAMPLESPERPIXEL`.
+ The special value :c:macro:`TIFF_VARIABLE2` (-3) is similar to :c:macro:`TIFF_VARIABLE`
+ but the required TIFFGetField() count value must be uint32_t* instead of uint16_t* as
+ for :c:macro:`TIFF_VARIABLE` (-1).
+ For ASCII fields with variable length, this field is :c:macro:`TIFF_VARIABLE`.
+
+.. c:member:: short TIFFFieldInfo.field_writecount
+
+ The number of values which should be written.
+ Generally the same as field_readcount. A few built-in exceptions exist, but
+ I haven't analysed why they differ.
+
+.. c:member:: TIFFDataType TIFFDataType.field_type
+
+ Type of the field. One of :c:enumerator:`TIFF_BYTE`, :c:enumerator:`TIFF_ASCII`,
+ :c:enumerator:`TIFF_SHORT`, :c:enumerator:`TIFF_LONG`,
+ :c:enumerator:`TIFF_RATIONAL`, :c:enumerator:`TIFF_SBYTE`,
+ :c:enumerator:`TIFF_UNDEFINED`, :c:enumerator:`TIFF_SSHORT`,
+ :c:enumerator:`TIFF_SLONG`, :c:enumerator:`TIFF_SRATIONAL`,
+ :c:enumerator:`TIFF_FLOAT`, :c:enumerator:`TIFF_DOUBLE` or
+ :c:enumerator:`TIFF_IFD`.
+
+.. note::
+
+ Some fields can support more than one type (for
+ instance short and long). These fields should have multiple TIFFFieldInfos.
+
+.. c:member:: unsigned short TIFFFieldInfo.field_bit
+
+ Built-in tags stored in special fields in the
+ TIFF structure have assigned field numbers to distinguish them (e.g.
+ :c:macro:`FIELD_SAMPLESPERPIXEL`). New tags should generally just use
+ :c:macro:`FIELD_CUSTOM` indicating they are stored in the generic tag list.
+
+.. c:member:: unsigned char TIFFFieldInfo.field_oktochange
+
+ TRUE if it is OK to change this tag value
+ while an image is being written. FALSE for stuff that must be set once
+ and then left unchanged (like ImageWidth, or PhotometricInterpretation for
+ instance).
+
+.. c:member:: unsigned char TIFFFieldInfo.field_passcount
+
+ If TRUE, then the count value must be passed
+ in :c:func:`TIFFSetField`, and :c:func:`TIFFGetField`, otherwise the count is not required.
+ This should generally be TRUE for non-ascii variable count tags unless
+ the count is implicit (such as with the colormap).
+
+.. c:member:: char * TIFFFieldInfo.field_name
+
+ A name for the tag. Normally mixed case (studly caps)
+ like ``StripByteCounts``, and relatively short.
+
+A :c:struct:`TIFFFieldInfo` definition exists for each built-in tag in the
+:file:`tif_dirinfo.c` file. Some tags which support multiple data types
+have more than one definition, one per data type supported.
+
+Various functions exist for getting the internal :c:struct:`TIFFFieldInfo`
+definitions, including :c:func:`_TIFFFindFieldInfo`, and
+:c:func:`_TIFFFindFieldInfoByName`. See
+:file:`tif_dirinfo.c` for details. There must be some mechanism to get the whole
+list, though I don't see it off hand.
+
+Default Tag Auto-registration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In libtiff 3.6.0 a new mechanism was introduced allowing libtiff to
+read unrecognised tags automatically. When an unknown tags is encountered,
+it is automatically internally defined with a default name and a type
+derived from the tag value in the file. Applications only need to predefine
+application specific tags if they need to be able to set them in a file, or
+if particular calling conventions are desired for :c:func:`TIFFSetField` and
+:c:func:`TIFFGetField`.
+
+When tags are autodefined like this the :c:member:`field_readcount` and
+:c:member:`field_writecount` values are always :c:macro:`TIFF_VARIABLE2` (-3). The
+:c:member:`field_passcount` is always TRUE, and the :c:member:`field_bit` is
+:c:macro:`FIELD_CUSTOM`. The field name will be ``Tag %d`` where the ``%d``
+is the tag number.
+
+Thus, to read anonymous auto-registered tags use the following:
+
+::
+
+ uint32_t count;
+ void* value; //has to be a pointer to the expected value type.
+ TIFFGetField(tif, TIFFTAG_UNKNOWN_TO_LIBTIFF, &count, &value);
+
+Defining Application Tags
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For various reasons, it is common for applications to want to define
+their own tags to store information outside the core TIFF specification.
+This is done by calling :c:func:`TIFFMergeFieldInfo` with one or more
+:c:struct:`TIFFFieldInfo`.
+
+The libgeotiff library provides geospatial information extensions within
+a TIFF file. First, an array of :c:struct:`TIFFFieldInfo` is prepared with
+information on the new tags:
+
+::
+
+ static const TIFFFieldInfo xtiffFieldInfo[] = {
+
+ /* XXX Insert Your tags here */
+ { TIFFTAG_GEOPIXELSCALE, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
+ TRUE, TRUE, "GeoPixelScale" },
+ { TIFFTAG_GEOTRANSMATRIX, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
+ TRUE, TRUE, "GeoTransformationMatrix" },
+ { TIFFTAG_GEOTIEPOINTS, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
+ TRUE, TRUE, "GeoTiePoints" },
+ { TIFFTAG_GEOKEYDIRECTORY, -1,-1, TIFF_SHORT, FIELD_CUSTOM,
+ TRUE, TRUE, "GeoKeyDirectory" },
+ { TIFFTAG_GEODOUBLEPARAMS, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
+ TRUE, TRUE, "GeoDoubleParams" },
+ { TIFFTAG_GEOASCIIPARAMS, -1,-1, TIFF_ASCII, FIELD_CUSTOM,
+ TRUE, FALSE, "GeoASCIIParams" }
+ };
+
+In order to define the tags, we call :c:func:`TIFFMergeFieldInfo` on the
+desired TIFF handle with the list of :c:struct:`TIFFFieldInfo`.
+
+::
+
+ #define N(a) (sizeof (a) / sizeof (a[0]))
+
+ /* Install the extended Tag field info */
+ TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
+
+The tags need to be defined for each TIFF file opened - and when reading
+they should be defined before the tags of the file are read, yet a valid
+:c:type:`TIFF *` is needed to merge the tags against. In order to get them
+registered at the appropriate part of the setup process, it is necessary
+to register our merge function as an extender callback with libtiff.
+This is done with :c:func:`TIFFSetTagExtender`. We also keep track of the
+previous tag extender (if any) so that we can call it from our extender
+allowing a chain of customizations to take effect.
+
+::
+
+ static TIFFExtendProc _ParentExtender = NULL;
+
+ static
+ void _XTIFFInitialize(void)
+ {
+ static int first_time=1;
+
+ if (! first_time) return; /* Been there. Done that. */
+ first_time = 0;
+
+ /* Grab the inherited method and install */
+ _ParentExtender = TIFFSetTagExtender(_XTIFFDefaultDirectory);
+ }
+
+The extender callback is looks like this. It merges in our new fields
+and then calls the next extender if there is one in effect.
+
+::
+
+ static void
+ _XTIFFDefaultDirectory(TIFF *tif)
+ {
+ /* Install the extended Tag field info */
+ TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
+
+ /* Since an XTIFF client module may have overridden
+ * the default directory method, we call it now to
+ * allow it to set up the rest of its own methods.
+ */
+
+ if (_ParentExtender)
+ (*_ParentExtender)(tif);
+ }
+
+The above approach ensures that our new definitions are used when reading
+or writing any TIFF file. However, since on reading we already have
+default definitions for tags, it is usually not critical to pre-define them.
+If tag definitions are only required for writing custom tags, you can just
+call :c:func:`TIFFMergeFieldInfo` before setting new tags. The whole extender
+architecture can then be avoided.
+
+Adding New Builtin Tags
+^^^^^^^^^^^^^^^^^^^^^^^
+
+A similar approach is taken to the above. However, the :c:struct:`TIFFFieldInfo`
+should be added to the :c:var:`tiffFieldInfo[]` list in :file:`tif_dirinfo.c`.
+Ensure that new tags are added in sorted order by the tag number.
+
+Normally new built-in tags should be defined with :c:macro:`FIELD_CUSTOM`; however, if
+it is desirable for the tag value to have it's own field in the :c:struct:`TIFFDirectory`
+structure, then you will need to ``#define`` a new :c:macro:`FIELD_` value for it, and
+add appropriate handling as follows:
+
+#. Define the tag in :file:`tiff.h`.
+#. Add a field to the directory structure in :file:`tif_dir.h`
+ and define a :c:macro:`FIELD_*` bit (also update the definition of
+ :c:macro:`FIELD_CODEC` to reflect your addition).
+#. Add an entry in the :c:struct:`TIFFFieldInfo` array defined at the top of
+ :file:`tif_dirinfo.c`.
+
+ .. note::
+
+ Note that you must keep this array sorted by tag
+ number and that the widest variant entry for a tag should come
+ first (e.g. :c:macro:`LONG` before :c:macro:`SHORT`).
+#. Add entries in :c:func:`_TIFFVSetField` and :c:func:`_TIFFVGetField`
+ for the new tag.
+#. (*optional*) If the value associated with the tag is not a scalar value
+ (e.g. the array for ``TransferFunction``) and requires
+ special processing,
+ then add the appropriate code to :c:func:`TIFFReadDirectory` and
+ :c:func:`TIFFWriteDirectory`. You're best off finding a similar tag and
+ cribbing code.
+#. Add support to :c:func:`TIFFPrintDirectory` in :file:`tif_print.c`
+ to print the tag's value.
+
+If you want to maintain portability, beware of making assumptions
+about data types. Use the typedefs (:c:type:`uint16_t`, etc. when dealing with
+data on disk and :c:type:`t*_t` when stuff is in memory) and be careful about
+passing items through printf or similar vararg interfaces.
+
+Adding New Codec-private Tags
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To add tags that are meaningful *only when a particular compression
+algorithm is used* follow these steps:
+
+#. Define the tag in :file:`tiff.h`.
+#. Allocate storage for the tag values in the private state block of
+ the codec.
+#. Insure the state block is created when the codec is initialized.
+#. At :c:func:`TIFFInitfoo` time override the method pointers in the
+ :c:struct:`TIFF` structure for getting, setting and printing tag values.
+ For example,
+
+ ::
+
+ sp->vgetparent = tif->tif_vgetfield;
+ tif->tif_vgetfield = fooVGetField; /* hook for codec tags */
+ sp->vsetparent = tif->tif_vsetfield;
+ tif->tif_vsetfield = fooVSetField; /* hook for codec tags */
+ tif->tif_printdir = fooPrintDir; /* hook for codec tags */
+
+ (Actually you may decide not to override the
+ :c:member:`tif_printdir` method, but rather just specify it).
+#. Create a private :c:struct:`TIFFFieldInfo` array for your tags and
+ merge them into the core tags at initialization time using
+ :c:func:`_TIFFMergeFieldInfo`; e.g.
+
+ ::
+
+ _TIFFMergeFieldInfo(tif, fooFieldInfo, N(fooFieldInfo));
+
+ (where :c:macro:`N` is a macro used liberaly throughout the distributed code).
+
+#. Fill in the get and set routines. Be sure to call the parent method
+ for tags that you are not handled directly. Also be sure to set the
+ :c:macro:`FIELD_*` bits for tags that are to be written to the file. Note that
+ you can create "pseudo-tags" by defining tags that are processed
+ exclusively in the get/set routines and never written to file (see
+ the handling of :c:macro:`TIFFTAG_FAXMODE` in :file:`tif_fax3.c`
+ for an example of this).
+#. Fill in the print routine, if appropriate.
+
+Note that space has been allocated in the :c:macro:`FIELD_*` bit space for
+codec-private tags. Define your bits as :c:macro:`FIELD_CODEC+<offset>` to
+keep them away from the core tags. If you need more tags than there
+is room for, just increase :c:macro:`FIELD_SETLONGS` at the top of
+:file:`tiffiop.h`.
diff --git a/doc/bigtiffdesign.rst b/doc/bigtiffdesign.rst
new file mode 100644
index 00000000..6bf6e4ee
--- /dev/null
+++ b/doc/bigtiffdesign.rst
@@ -0,0 +1,82 @@
+BigTIFF Design
+==============
+
+This is the equivalent of a former Wiki working place for preparing a 64-bit
+(larger than 4GB) TIFF format specification. The design is based on a proposal
+by Steve Carlsen of Adobe, with input from various other parties.
+
+Briefly
+-------
+
+* Version = 43
+* 8-byte offset to first IFD
+* Value/Offset fields are 8 bytes
+* 8-byte offset to the next IFD
+* add TIFFType of LONG8, an 8 byte (unsigned) int
+* StripOffsets and TileOffsets and ByteCounts can be LONG8
+
+More Detail
+-----------
+
+* The Version ID, in header bytes 2-3, formerly decimal 42, now changes to 43
+* Header bytes 4-5 contain the decimal number 8.
+
+ * If there is some other number here, a reader should give up.
+ * This is to provide a nice way to move to 16-byte pointers some day.
+
+* Header bytes 6-7 are reserved and must be zero.
+
+ * If they're not, a reader should give up.
+
+* Header bytes 8-15 contain the 8-byte offset to the first IFD.
+* Value/Offset fields are 8 bytes long, and take up bytes 8-15 in an IFD entry.
+
+ * If the value is &lt;= 8 bytes, it must be stored in the field.
+ * All values must begin at an 8-byte-aligned address.
+
+* 8-byte offset to the Next_IFD, at the end of an IFD.
+* To keep IFD entries 8-byte-aligned, we begin with an 8-byte (instead of 2-byte) count of the number of directory entries.
+* Add TIFFTypes of LONG8 (= 16), an 8 byte (unsigned) int, and SLONG8 (= 17).
+* Add TIFFType IFD8 (=18) an 8byte IFD offset.
+* StripOffsets and TileOffsets and ByteCounts may be LONG8 or the traditionally allowed LONG or SHORT.
+
+* The proposed extension is ".tf8", and call it "8-Byte TIFF".
+
+ Otherwise, it's just like "original TIFF." ("TIFF Classic?")
+
+Open Issues
+-----------
+
+* What to call the new format
+
+ * ChrisCox -- I don't think end users will understand what "8-byte TIFF" means
+ * AndreyKiselev - 23 Sep 2004 -- What about TIFF64? "64" is a widely used buzzword and should be directly associated with the 64-bit offsets and 64-bit architectures.
+
+* What 3 character file extension to use (gotta be DOS compatible)
+* What 4 character file type to use (for Macintosh)
+* What MIME type to use
+
+Samples
+-------
+
+`Example files <http://www.awaresystems.be/imaging/tiff/bigtiff/BigTIFFSamples.zip>`
+from Joris Van Damme.
+
+Changes
+-------
+
+* TIFFType 13 is ttIFD, 14 is assigned to ttUnicode, and 15 is assigned to ttComplex. So, I changed the types for ttLong8 and ttSLong8 to 16 and 17, respectively.
+
+ * AndreyKiselev - 23 Sep 2004 -- Where are these fields defined? Is there any new Technical Note or something? And what is encoding behind the word "Unicode"?
+ * ChrisCox - 27 Sep 2004 -- They are in the Adobe TIFF definitions. I am still working on releasing updated TIFF documentation.
+
+* Added list of open issues.
+* settle on version 43
+* cleanup
+* TIFFType 18 (8 byte IFD) added.
+
+* Clarified that fields which may be LONG8 can also be one of the old supported types.
+
+See also
+--------
+`AWare Systems' informal overview of the BigTIFF proposal <http://www.awaresystems.be/imaging/tiff/bigtiff.html>`.
diff --git a/doc/bigtiffpr.rst b/doc/bigtiffpr.rst
new file mode 100644
index 00000000..14f718bc
--- /dev/null
+++ b/doc/bigtiffpr.rst
@@ -0,0 +1,63 @@
+Extending LibTiff library with support for the new BigTIFF format
+=================================================================
+
+LibTiff maintainers have started work on LibTiff 4.0,
+the next major upgrade of the time-proven `TIFF <http://www.awaresystems.be/imaging/tiff.html>`_
+codec. This upgrade will include support for the new BigTIFF file format. It is planned a preliminary
+version (LibTiff 4.0alpha1) will be operational by June 15, 2007. Testing and final release improvements
+for LibTiff 4.0 will be completed by July 30, 2007.
+
+BigTIFF logically extends the original TIFF file format (referred to as 'ClassicTIFF' from now on),
+BigTIFF specification is the result of work by a variety of parties on the LibTiff mailing list, including
+the current LibTiff maintainers, Joris Van Damme and Adobe staff. The BigTIFF specification has not yet
+been officially approved by the TIFF specification owner (Adobe), but implementation within LibTiff
+could accelerate that process. For more information on the BigTIFF file format, we recommend AWare Systems'
+`BigTIFF page <http://www.awaresystems.be/imaging/tiff/bigtiff.html>`_.
+
+BigTIFF will be especially useful for people and vendors that are confronted with very large images, and
+still seek to use an open, simple, and extendable format. This requirement is frequently encountered in the
+geospatial field, but also concerns large format scanners, medical imaging and other fields.
+
+The LibTiff BigTIFF upgrade is made possible by four sponsors funding the project. The programming work will
+primarily be done by `Joris Van Damme (AWare Systems) <http://www.awaresystems.be/index.html>`_.
+LibTiff's licensing agreement will remain unchanged. More details on the project itself, are available from
+the :ref:`BigTIFFProposal` page.
+
+The sponsors are, in alphabetical order:
+
+.. list-table:: Sponsors
+ :widths: 5 20
+ :header-rows: 0
+
+ * - .. image:: bigtiffpr_images/esri.png
+ :width: 100%
+ :alt: ESRI
+ - `ESRI <http://www.esri.com/>`_ has been giving customers around the world the power to
+ think and plan geographically since 1969. As the leader in GIS, ESRI applies innovative technologies to help
+ organizations create, analyze, and visualize information for more informed decisions. Running on more than
+ a million desktops and thousands of servers, ESRI applications are the foundation of the world's mapping and
+ spatial analysis infrastructure.
+ * - .. image:: bigtiffpr_images/leica.png
+ :width: 100%
+ :alt: Leica Geosystems Geospatial Imaging
+ - `Leica Geosystems Geospatial Imaging <http://gi.leica-geosystems.com/default.aspx>`_ offers a
+ range of workflow solutions for photogrammetry, mapping, remote sensing, catalog management and exploitation
+ of geospatial imagery. Enterprise organizations use this imagery as the basis for generating information for
+ both education and decision making processes. Those who use Leica Geosystems products every day trust them
+ for their precision, seamless integration, interoperability and superior customer support.
+ * - .. image:: bigtiffpr_images/safe.png
+ :width: 100%
+ :alt: Safe Software
+ - `Safe Software <http://www.safe.com/>`_ is the maker of FME, a powerful spatial ETL (Extract,
+ Transform and Load) tool that enables true data interoperability. FME manages the translation,
+ transformation, integration and web-based distribution of geospatial data in 200 GIS, CAD, raster and
+ database formats. Safe Software's FME technology is also embedded in numerous market-leading GIS and
+ ETL applications.
+ * - .. image:: bigtiffpr_images/weogeo.png
+ :width: 100%
+ :alt: WeoGeo
+ - `WeoGeo <http://www.weogeo.com/>`_ is a web-based data management resource for the geospatial
+ industry that allows the free market exchange of mapping related imagery products, featuring an innovative
+ solution that efficiently manages digital mapping files of any size. With an intuitive user interface
+ and the scalable power of Amazon Web Services (AWS), geospatial professionals can view, sort, search,
+ and share complex, high volume maps quickly and effectively.
diff --git a/html/bigtiffpr_images/esri.png b/doc/bigtiffpr_images/esri.png
index dce6c97e..dce6c97e 100644
--- a/html/bigtiffpr_images/esri.png
+++ b/doc/bigtiffpr_images/esri.png
Binary files differ
diff --git a/html/bigtiffpr_images/leica.png b/doc/bigtiffpr_images/leica.png
index 758cf665..758cf665 100644
--- a/html/bigtiffpr_images/leica.png
+++ b/doc/bigtiffpr_images/leica.png
Binary files differ
diff --git a/html/bigtiffpr_images/safe.png b/doc/bigtiffpr_images/safe.png
index 50acc607..50acc607 100644
--- a/html/bigtiffpr_images/safe.png
+++ b/doc/bigtiffpr_images/safe.png
Binary files differ
diff --git a/html/bigtiffpr_images/weogeo.png b/doc/bigtiffpr_images/weogeo.png
index 2b7903e2..2b7903e2 100644
--- a/html/bigtiffpr_images/weogeo.png
+++ b/doc/bigtiffpr_images/weogeo.png
Binary files differ
diff --git a/doc/bugs.rst b/doc/bugs.rst
new file mode 100644
index 00000000..4dbe281e
--- /dev/null
+++ b/doc/bugs.rst
@@ -0,0 +1,48 @@
+Bugs and the TIFF Mailing List
+==============================
+
+.. image:: images/cover.jpg
+ :width: 110
+ :alt: cover
+
+This software is free. Please let us know when you find a problem or
+fix a bug.
+
+The project is using `GitLab issues <https://gitlab.com/libtiff/libtiff/issues/>`_
+since October 2019.
+Previously, the project used MapTools.org
+bugzilla to track bugs: remaining tickets in that bugzilla instance have been
+migrated to GitLab issues. All bugs filed in a older bugzilla at
+bugzilla.remotesensing.org (pre April 2008) have unfortunately been lost.
+
+If you think you've discovered a bug, please first check to see if it is
+already known by looking at the list of already reported bugs. Also verify that
+the problem is still reproducible with the current development software
+from GitLab.
+
+If you'd like to enter a new bug, you can do so at
+`<https://gitlab.com/libtiff/libtiff/issues/new/>`_
+
+If you'd like to inform us about some kind of security issue that should not
+be disclosed for a period of time, then you can contact maintainers directly.
+Send a copies of your report to the following people: Frank Warmerdam
+`<warmerdam@pobox.com>`_
+and
+Bob Friesenhahn `<bfriesen@simple.dallas.tx.us>`_.
+
+Of course, reporting bugs is no substitute for discussion. The
+`<tiff@lists.osgeo.org>`_ mailing list is for users of this software, and
+discussion TIFF issues in general.
+It is managed with the Mailman software, and the web interface for subscribing
+and managing your access to the list is at:
+
+ `<http://lists.osgeo.org/mailman/listinfo/tiff/>`_
+
+Posts to the list are only accepted from members of the list in order
+to limit the amount of spam propagated.
+
+A `Long Term Archive <http://www.awaresystems.be/imaging/tiff/tml.html>`_
+including recent messages, and most messages back to 1993,
+with search capabilities is available, and
+has been prepared and hosted by
+`AWare Systems <http://www.awaresystems.be>`_.
diff --git a/doc/build.rst b/doc/build.rst
new file mode 100644
index 00000000..86652924
--- /dev/null
+++ b/doc/build.rst
@@ -0,0 +1,623 @@
+Building the TIFF Software Distribution
+=======================================
+
+.. image:: images/cramps.gif
+ :width: 159
+ :alt: cramps
+
+This chapter contains step-by-step instructions on how to configure
+and build the TIFF software distribution. The software is most
+easily built on a UNIX system, but with a little bit of work it can
+easily be built and used on other non-UNIX platforms.
+
+
+Building on all systems with CMake
+----------------------------------
+
+CMake may be used to
+generate build files for most common build systems and IDEs, and
+supports all UNIX-like systems as well as Windows. See
+the `CMake website <http://www.cmake.org/>`_ for further
+details. To build the software on you need to first run
+:program:`cmake` to configure the build and generate the system-specific
+build files. This reads the top-level :file:`CMakeLists.txt` file,
+which probes the target system for necessary tools and functions,
+checks any options you specified to configure the build, and then
+outputs build files configured for your system. If using ``Unix
+Makefiles``, once configuration is done, you simply
+run :program:`make` (or :program:`gmake`) to build the software and
+then ``make install`` to do the installation. For other build
+systems, you do the equivalent steps with the tool for that system.
+For example, on any UNIX system:
+
+.. code-block:: shell
+
+ $ cd ./tiff-4.0.5
+ $ cmake
+ ...lots of messages...
+ $ make
+ ...lots of messages...
+ $ make test
+ ...lots of messages...
+ # make install
+
+Building is dependent on a :program:`make` utility and a C
+(and optionally a C++) compiler, so you will need these tools.
+
+In general, the software is designed such that the following
+targets will always be available:
+
+::
+
+ make [all] build stuff
+ make test run the test suite
+ make install build and install stuff
+ make clean remove object files, executables and cruft
+
+Build Trees
+^^^^^^^^^^^
+
+There are two schemes for configuring and building the software. If
+you intend to build the software for only one target system, you
+can configure the software so that it is built in the same
+directories as the source code.
+
+.. code-block:: shell
+
+ $ gzip -dc tiff-4.0.5.tar.gz | tar -xf -
+ $ cd ./tiff-4.0.5
+ $ cmake
+ $ make
+ $ make test
+ $ make install
+
+Otherwise, you can configure a build tree that is parallel to
+the source tree hierarchy (or in some completely different place)
+but which contains only configured files and files created during
+the build procedure.
+
+
+.. code-block:: shell
+
+ $ gzip -dc tiff-4.0.5.tar.gz | tar -xf -
+ $ mkdir tiff-4.0.5-build
+ $ cd ./tiff-4.0.5-build
+ $ cmake ../tiff-4.0.5
+ $ make
+ $ make test
+ $ make install
+
+This second scheme is useful for:
+
+* building multiple targets from a single source tree
+* building from a read-only source tree (e.g. if you receive the
+distribution on CD-ROM)
+* sharing the source files via a network, but building on
+multiple systems
+* keeping the source tree clean
+(unlike :program:`autoconf`, :program:`cmake` does not provide
+a ``distclean`` target, so out of source builds are
+recommended)
+
+Generators
+^^^^^^^^^^
+
+The default generator for UNIX is ``Unix Makefiles``, and on Windows is
+``NMake Makefiles`` or ``MSBuild`` depending upon the setup.
+Run ``cmake --help`` to list all the
+generators available for your platform. For example, to use the Ninja
+`build system <https://martine.github.io/ninja/>`_ on UNIX or
+Windows:
+
+.. code-block:: shell
+
+ cmake -G Ninja
+ cmake --build .
+ ctest -V
+ cmake --build . --target install
+
+Note that ``cmake --build .`` is a build-system-independent way
+of building a target; you can always use the build system directly.
+
+Alternatively, using the MSBuild system on Windows (64-bit Release
+build with VS2013):
+
+.. code-block:: shell
+
+ cmake -G "Visual Studio 12 2013 Win64"
+ cmake --build . --config Release
+ ctest -V -C Release
+ cmake --build . --config Release --target install
+
+With the above configuration, it's also possible to open the generated
+solution file with the Visual Studio IDE as well as building on the
+command-line.
+
+Configuration Options
+^^^^^^^^^^^^^^^^^^^^^
+
+The configuration process is critical to the proper compilation,
+installation, and operation of the
+software. The :file:`CMakeLists.txt` script runs a series of tests to
+decide whether or not the target system supports required
+functionality and, if it does not, whether it can emulate or
+workaround the missing functions. After running :program:`cmake`, check
+the :file:`CMakeCache.txt` file; this contains all the results of the
+checks performed and the options set by the user. If :program:`cmake`
+failed to run, check :file:`CMakeFiles/CMakeOutput.log`
+and :file:`CMakeFiles/CMakeError.log`; these should record the error
+which caused the failure.
+
+A second function of the configure script is to set the default
+configuration parameters for the software. Of particular note are the
+directories where the software is to be installed. By default the
+software is installed in the :file:`/usr/local` hierarchy. To change
+this behaviour the appropriate parameters can be specified on the
+command line. Run ``cmake --help`` to get a full list of possible
+options, and ``cmake -LH`` to list all the configurable options for
+this software package, or ``cmake -LAH`` to show all advanced
+options in addition. Standard installation related options are shown
+below.
+
+::
+
+ Installation directories:
+ CMAKE_INSTALL_PREFIX
+
+ Fine tuning of the installation directories:
+ CMAKE_INSTALL_BINDIR user executables [PREFIX/bin]
+ CMAKE_INSTALL_SBINDIR system admin executables [PREFIX/sbin]
+ CMAKE_INSTALL_LIBEXECDIR program executables [PREFIX/libexec]
+ CMAKE_INSTALL_SYSCONFDIR read-only single-machine data [PREFIX/etc]
+ CMAKE_INSTALL_SHAREDSTATEDIR modifiable architecture-independent data [PREFIX/com]
+ CMAKE_INSTALL_LOCALSTATEDIR modifiable single-machine data [PREFIX/var]
+ CMAKE_INSTALL_LIBDIR object code libraries [PREFIX/lib]
+ CMAKE_INSTALL_INCLUDEDIR C header files [PREFIX/include]
+ CMAKE_INSTALL_OLDINCLUDEDIR C header files for non-gcc [/usr/include]
+ CMAKE_INSTALL_DATAROOTDIR read-only arch.-independent data root [PREFIX/share]
+ CMAKE_INSTALL_DATADIR read-only architecture-independent data [DATAROOTDIR]
+ CMAKE_INSTALL_LOCALEDIR locale-dependent data [DATAROOTDIR/locale]
+ CMAKE_INSTALL_MANDIR man documentation [DATAROOTDIR/man]
+ CMAKE_INSTALL_DOCDIR documentation root [DATAROOTDIR/doc/tiff]
+
+Also see the
+CMake `documentation <http://www.cmake.org/cmake/help/latest/>`_
+for `additional variables <http://www.cmake.org/cmake/help/latest/manual/cmake-variables.7.html>`_
+which may be set.
+
+Configuring Optional Packages/Support
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The TIFF software comes with several packages that are installed
+only as needed, or only if specifically configured at the time the
+configure script is run. Packages can be configured via the
+:program:`cmake` commandline parameters.
+
+Static/Shared Objects Support
+.............................
+
+``BUILD_SHARED_LIBS[=ON|OFF]``:
+
+ Build shared libraries (default is ``ON``)
+
+ This option controls whether or not to configure the software
+ to build a shared and static binaries for the TIFF library. Use of
+ shared libraries can significantly reduce the disk space needed for
+ users of the TIFF software. If shared libraries are not used then
+ the code is statically linked into each application that uses it.
+
+``ld-version-script[=ON|OFF]``
+
+ Enable linker version script (default is ``ON``)
+
+ Add shared library symbol versioning on ELF-based systems (e.g.
+ Linux and FreeBSD) which use the GNU linker. This is needed if
+ several major versions of libtiff might be loaded at once into the
+ same program.
+
+JPEG Support
+............
+
+``jpeg[=ON|OFF]``
+
+ Enable IJG JPEG library usage (required for JPEG compression, enabled by default)
+
+``JPEG_INCLUDE_DIR=DIR``:
+
+ Location of IJG JPEG library headers
+
+``JPEG_LIBRARY=DIR``
+
+ Location of IJG JPEG library binary
+
+The ``JPEG`` package enables support for the handling of
+TIFF images with JPEG-encoded data. Support for JPEG-encoded data
+requires the Independent JPEG Group (IJG) ``libjpeg``
+distribution; this software is available at `<http://www.ijg.org/>`_.
+The CMake script automatically tries to search for a working IJG JPEG
+installation. If it fails to find library, JPEG support will be
+automatically disabled. If you want specify the exact paths to
+library binary and headers, use above options for that.
+
+ZIP Support
+...........
+
+The ``ZIP`` support enables support for the handling of TIFF
+images with deflate-encoded data (enabled by default if
+available). Support for deflate-encoded data requires the freely
+available ``zlib`` distribution written by Jean-loup Gailly and
+Mark Adler; this software is available at `<http://www.zlib.org/>`_.
+
+
+Building on a UNIX System with Autoconf
+---------------------------------------
+
+To build the software on a UNIX system you need to first run the
+:program:`configure` shell script that is located in the top level of the
+source directory. This script probes the target system for
+necessary tools and functions and constructs a build environment in
+which the software may be compiled. Once configuration is done, you
+simply run :program:`make` (or :program:`gmake`) to build the software
+and then ``make install`` to do the installation; for example:
+
+.. code-block:: shell
+
+ % cd ./tiff-4.0.5
+ % ./configure
+ ...lots of messages...
+ % make
+ ...lots of messages...
+ % make check
+ ...lots of messages...
+ # make install
+
+Supplied Makefiles are dependent on a :program:`make` utility and a C
+(and optionally a C++ compiler), so you will need these tools.
+
+In general, the software is designed such that the following
+should be "make-able" in each directory:
+
+::
+
+ make [all] build stuff
+ make check run the test suite
+ make install build and install stuff
+ make clean remove object files, executables and cruft
+ make distclean remove everything, that can be recreated
+
+Note that after running ``make distclean`` the
+:program:`configure` script must be run again to create the :file:`Makefile`
+and other make-related files.
+
+Build Trees
+^^^^^^^^^^^
+
+There are two schemes for configuring and building the software. If
+you intend to build the software for only one target system, you
+can configure the software so that it is built in the same
+directories as the source code.
+
+.. code-block:: shell
+
+ % gzip -dc tiff-4.0.5.tar.gz | tar -xf -
+ % cd ./tiff-4.0.5
+ % ./configure
+ % make
+ % make check
+ % make install
+
+Otherwise, you can configure a build tree that is parallel to
+the source tree hierarchy (or in some completely different place)
+but which contains only configured files and files created during
+the build procedure.
+
+.. code-block:: shell
+
+ % gzip -dc tiff-4.0.5.tar.gz | tar -xf -
+ % mkdir tiff-4.0.5-build
+ % cd ./tiff-4.0.5-build
+ % ../tiff-4.0.5/configure
+ % make
+ % make check
+ % make install
+
+This second scheme is useful for:
+
+* building multiple targets from a single source tree
+* building from a read-only source tree (e.g. if you receive the
+ distribution on CD-ROM)
+* sharing the source files via a network, but building on
+ multiple systems
+
+Configuration Options
+^^^^^^^^^^^^^^^^^^^^^
+
+The configuration process is critical to the proper compilation,
+installation, and operation of the software. The configure script
+runs a series of tests to decide whether or not the target system
+supports required functionality and, if it does not, whether it can
+emulate or workaround the missing functions. This procedure is
+fairly complicated and, due to the nonstandard nature of most UNIX
+systems, prone to error. The first time that you configure the
+software for use you should check the output from the configure
+script and look for anything that does not make sense for your
+system.
+
+A second function of the configure script is to set the default
+configuration parameters for the software. Of particular note are
+the directories where the software is to be installed. By default
+the software is installed in the :file:`/usr/local` hierarchy. To
+change this behaviour the appropriate parameters can be specified
+on the command line to configure. Run ``./configure --help`` to
+get a full list of possible options. Standard installation related
+options are shown below.
+
+::
+
+ Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [/usr/local]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, `make install' will install all the files in
+:file:`/usr/local/bin`, :file:`/usr/local/lib` etc. You can specify
+an installation prefix other than :file:`/usr/local` using ``--prefix``,
+for instance ``--prefix=$HOME``.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+
+::
+
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/tiff]
+ --htmldir=DIR html documentation [DOCDIR]
+
+Program names:
+
+::
+
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+Configuring Optional Packages/Support
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The TIFF software comes with several packages that are installed
+only as needed, or only if specifically configured at the time the
+configure script is run. Packages can be configured via the
+:program:`configure` script commandline parameters.
+
+Static/Shared Objects Support
+.............................
+
+``--enable-shared[=PKGS]``:
+
+ Build shared libraries [default=yes]
+
+``--enable-static[=PKGS]``:
+
+ Build static libraries [default=yes]
+
+ These options control whether or not to configure the software
+ to build a shared and static binaries for the TIFF library. Use of
+ shared libraries can significantly reduce the disk space needed for
+ users of the TIFF software. If shared libraries are not used then
+ the code is statically linked into each application that uses it.
+ By default both types of binaries are configured.
+
+``--enable-rpath``:
+
+ Enable runtime linker paths (-R libtool option)
+
+ Add library directories (see other options below) to the TIFF
+ library run-time linker path.
+
+``--enable-ld-version-script``:
+
+ Enable linker version script (default is disabled)
+
+ Add shared library symbol versioning on ELF-based systems (e.g.
+ Linux and FreeBSD) which use the GNU linker. This is needed if
+ several major versions of libtiff might be loaded at once into the
+ same program.
+
+JPEG Support
+............
+
+``--disable-jpeg``:
+
+ Disable IJG JPEG library usage (required for JPEG compression, enabled by default)
+
+``--with-jpeg-include-dir=DIR``:&nbsp;
+
+ Location of IJG JPEG library headers
+
+``--with-jpeg-lib-dir=DIR``:
+
+ Location of IJG JPEG library binary)
+
+The ``JPEG`` package enables support for the handling of
+TIFF images with JPEG-encoded data. Support for JPEG-encoded data
+requires the Independent JPEG Group (IJG) ``libjpeg``
+distribution; this software is available at
+`<http://www.ijg.org/>`_. The :program:`configure`
+script automatically tries to search for a working IJG JPEG
+installation. If it fails to find library, JPEG support will be
+automatically disabled. If you want specify the exact paths to
+library binary and headers, use above switches for that.
+
+ZIP Support
+...........
+
+The ``ZIP`` support enables support for the handling of
+TIFF images with deflate-encoded data. Support for deflate-encoded
+data requires the freely available ``zlib`` distribution
+written by Jean-loup Gailly and Mark Adler; this software is
+available at `<http://www.zlib.org/>`_. If ZIP support is
+enabled the ``DIRS_LIBINC`` and ``DIR_GZLIB`` parameters
+should also be set (see below). By default this package is not
+configured.
+
+
+Building the Software on Other Systems
+--------------------------------------
+
+This section contains information that might be useful if you are
+working on a non-UNIX system that is not directly supported. All
+library-related files described below are located in the
+:file:`libtiff` directory.
+
+The library requires two files that are generated
+*on-the-fly*. The file :file:`tif_fax3sm.c` has the state
+tables for the Group 3 and Group 4 decoders. This file is generated
+by the :program:`mkg3states` program on a UNIX system; for
+example:
+
+.. code-block:: shell
+
+ cd libtiff
+ cc -o mkg3states mkg3states.c
+ rm -f tif_fax3sm.c
+ ./mkg3states -c const tif_fax3sm.c
+
+The ``-c`` option can be used to control whether or not the
+resutling tables are generated with a ``const`` declaration.
+The ``-s`` option can be used to specify a C storage class for
+the table declarations. The ``-b`` option can be used to force
+data values to be explicitly bracketed with ``{}'' (apparently
+needed for some MS-Windows compilers); otherwise the structures are
+emitted in as compact a format as possible. Consult the source code
+for this program if you have questions.
+
+The second file required to build the library, :file:`version.h`,
+contains the version information returned by the
+``TIFFGetVersion`` routine. This file is built on most systems
+using the :file:`mkversion` program and the contents of the
+:file:`VERSION` and :file:`tiff.alpha` files; for example,
+
+.. code-block:: shell
+
+ cd libtiff
+ cc -o mkversion mkversion.c
+ rm -f version.h
+ ./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h
+
+Otherwise, when building the library on a non-UNIX system be
+sure to consult the files :file:`tiffcomp.h` and :file:`tiffconf.h`.
+The former contains system compatibility definitions while the
+latter is provided so that the software configuration can be
+controlled on systems that do not support the make facility for
+building the software.
+
+Systems without a 32-bit compiler may not be able to handle some
+of the codecs in the library; especially the Group 3 and 4 decoder.
+If you encounter problems try disabling support for a particular
+codec; consult the :ref:`internals`.
+
+Programs in the tools directory are written to assume an ANSI C
+compilation environment. There may be a few POSIX'isms as well. The
+code in the :file:`port` directory is provided to emulate routines
+that may be missing on some systems. On UNIX systems the
+:program:`configure` script automatically figures out which routines
+are not present on a system and enables the use of the equivalent
+emulation routines from the :file:`port` directory. It may be
+necessary to manually do this work on a non-UNIX system.
+
+
+Checking out the Software
+-------------------------
+
+Assuming you have working versions of :program:`tiffgt` and
+:program:`tiffsv`, you can just use them to view any of the sample
+images available for testing (see the :ref:`images` section
+on obtaining the test images). Otherwise, you can do a cursory
+check of the library with the :program:`tiffcp` and :program:`tiffcmp`
+programs. For example,
+
+.. code-block:: shell
+
+ tiffcp -lzw cramps.tif x.tif
+ tiffcmp cramps.tif x.tif
+
+(:program:`tiffcmp` should be silent if the files compare
+correctly).
+
+
+Table of Contents
+-----------------
+
+The following files make up the core library:
+
+============================== ================================================
+File Description
+============================== ================================================
+libtiff/tiff.h TIFF spec definitions
+libtiff/tiffcomp.h non-UNIX OS-compatibility definitions
+libtiff/tiffconf.h non-UNIX configuration definitions
+libtiff/tiffio.h public TIFF library definitions
+libtiff/tiffiop.h private TIFF library definitions
+libtiff/t4.h CCITT Group 3/4 code tables+definitions
+libtiff/tif_dir.h private defs for TIFF directory handling
+libtiff/tif_fax3.h CCITT Group 3/4-related definitions
+libtiff/tif_predict.h private defs for Predictor tag support
+libtiff/uvcode.h LogL/LogLuv codec-specific definitions
+libtiff/version.h version string (generated by Makefile)
+libtiff/tif_apple.c Apple-related OS support
+libtiff/tif_atari.c Atari-related OS support
+libtiff/tif_aux.c auxiliary directory-related functions
+libtiff/tif_close.c close an open TIFF file
+libtiff/tif_codec.c configuration table of builtin codecs
+libtiff/tif_compress.c compression scheme support
+libtiff/tif_dir.c directory tag interface code
+libtiff/tif_dirinfo.c directory known tag support code
+libtiff/tif_dirread.c directory reading code
+libtiff/tif_dirwrite.c directory writing code
+libtiff/tif_dumpmode.c "no" compression codec
+libtiff/tif_error.c library error handler
+libtiff/tif_fax3.c CCITT Group 3 and 4 codec
+libtiff/tif_fax3sm.c G3/G4 state tables (generated by mkg3states)
+libtiff/tif_flush.c i/o and directory state flushing
+libtiff/tif_getimage.c TIFFRGBAImage support
+libtiff/tif_jpeg.c JPEG codec (interface to the IJG distribution)
+libtiff/tif_luv.c SGI LogL/LogLuv codec
+libtiff/tif_lzw.c LZW codec
+libtiff/tif_msdos.c MSDOS-related OS support
+libtiff/tif_next.c NeXT 2-bit scheme codec (decoding only)
+libtiff/tif_open.c open and simply query code
+libtiff/tif_packbits.c Packbits codec
+libtiff/tif_pixarlog.c Pixar codec
+libtiff/tif_predict.c Predictor tag support
+libtiff/tif_print.c directory printing support
+libtiff/tif_read.c image data reading support
+libtiff/tif_strip.c some strip-related code
+libtiff/tif_swab.c byte and bit swapping support
+libtiff/tif_thunder.c Thunderscan codec (decoding only)
+libtiff/tif_tile.c some tile-related code
+libtiff/tif_unix.c UNIX-related OS support
+libtiff/tif_version.c library version support
+libtiff/tif_warning.c library warning handler
+libtiff/tif_win3.c Windows-3.1-related OS support
+libtiff/tif_win32.c Win32 (95/98/NT) related OS support
+libtiff/tif_write.c image data writing support
+libtiff/tif_zip.c Deflate codec
+
+libtiff/mkg3states.c program to generate G3/G4 decoder state tables
+libtiff/mkspans.c program to generate black-white span tables
+libtiff/mkversion.c program to generate libtiff/version.h.
+============================== ================================================
diff --git a/doc/conf.py b/doc/conf.py
new file mode 100644
index 00000000..c25af8ac
--- /dev/null
+++ b/doc/conf.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+# Substitutions from external build system.
+srcdir = None
+builddir = None
+ext_source_branch = None
+ext_source_user = None
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'LibTIFF'
+copyright = '1988-2022, LibTIFF contributors'
+author = 'LibTIFF contributors'
+
+# The full version, including alpha/beta/rc tags
+release = 'UNDEFINED'
+version = 'UNDEFINED'
+
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.extlinks'
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = []
+
+extlinks = {
+ # GitLab links
+ 'issue' : ('https://gitlab.com/libtiff/libtiff/-/issues/%s', 'issue #%s'),
+ 'merge' : ('https://gitlab.com/libtiff/libtiff/-/merge_requests/%s', 'merge request #%s'),
+ 'commit' : ('https://gitlab.com/libtiff/libtiff/-/commit/%s', 'commit %s'),
+ 'branch' : ('https://gitlab.com/libtiff/libtiff/-/tree/%s', 'branch %s'),
+ 'tag' : ('https://gitlab.com/libtiff/libtiff/-/tags/%s', 'tag %s'),
+
+ # Old Bugzilla
+ 'bugzilla' : ('http://bugzilla.maptools.org/show_bug.cgi?id=%s', 'MapTools bugzilla #%s'),
+ 'bugzilla-rs' : ('http://bugzilla.remotesensing.org/show_bug.cgi?id=%s', 'Remote Sensing bugzilla #%s [no longer available]'),
+
+ # GDAL
+ 'gdal-trac' : ('http://trac.osgeo.org/gdal/ticket/%s', 'GDAL trac #%s'),
+ 'oss-fuzz' : ('https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=%s', 'OSS-Fuzz #%s'),
+
+ # Security
+ 'cve' : ('https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-%s', 'CVE-%s'),
+}
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'bizstyle'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+html_extra_path = ['static']
diff --git a/doc/contrib.rst b/doc/contrib.rst
new file mode 100644
index 00000000..ba687efb
--- /dev/null
+++ b/doc/contrib.rst
@@ -0,0 +1,88 @@
+Contributed TIFF Software
+=========================
+
+.. image:: images/smallliz.jpg
+ :width: 108
+ :alt: smallliz
+
+The :file:`contrib` directory has contributed software that
+uses the TIFF library or which is associated with the library
+(typically glue and guidance for ports to non-UNIX platforms, or tools that
+aren't directly TIFF related).
+
+.. list-table:: Contributed software
+ :widths: 5 20
+ :header-rows: 1
+
+ * - Location
+ - Description
+
+ * - :file:`contrib/dbs`
+ - various tools from Dan & Chris Sears, including a simple X-based viewer
+
+ * - :file:`contrib/ras`
+ - two programs by Patrick Naughton for converting
+ between Sun rasterfile format and TIFF (these
+ require :file:`libpixrect.a`, as opposed to the one in
+ tools that doesn't)
+
+ * - :file:`contrib/mac-mpw`
+
+ :file:`contrib/mac-cw`
+ - scripts and files from Niles Ritter for building
+ the library and tools under Macintosh/MPW C and
+ code warrior.
+
+ * - :file:`contrib/acorn`
+ - scripts and files from Peter Greenham for building
+ the library and tools on an Acorn RISC OS system.
+
+ * - :file:`contrib/win32`
+ - scripts and files from Scott Wagner for building
+ the library under Windows NT and Windows 95. (The makefile.vc in the
+ libtiff/libtiff directory may be sufficient for most users.)
+
+ * - :file:`contrib/win_dib`
+ - two separate implementations of TIFF to DIB code suitable for any Win32
+ platform. Contributed by Mark James, and Philippe Tenenhaus.
+
+ * - :file:`contrib/ojpeg`
+ - Patch for IJG JPEG library related to support for some Old JPEG in TIFF files.
+ Contributed by Scott Marovich.
+
+ * - :file:`contrib/dosdjgpp`
+ - scripts and files from Alexander Lehmann for building
+ the library under MSDOS with the DJGPP v2 compiler.
+
+ * - :file:`contrib/tags`
+ - scripts and files from Niles Ritter for adding private
+ tag support at runtime, without changing libtiff.
+
+ * - :file:`contrib/mfs`
+ - code from Mike Johnson to read+write images in memory
+ without modifying the library
+
+ * - :file:`contrib/pds`
+ - various routines from Conrad Poelman; a TIFF image iterator and
+ code to support ``private sub-directories''
+
+ * - :file:`contrib/iptcutil`
+ - A utility by `Bill Radcliffe <billr@corbis.com>`_ to
+ convert an extracted IPTC Newsphoto caption from a binary blob to
+ ASCII text, and vice versa. IPTC binary blobs can be extracted from
+ images via the `ImageMagick <http://www.ImageMagick.org/>`_ convert(1)
+ utility.
+
+ * - :file:`contrib/addtiffo`
+ - A utility (and supporting subroutine) for building
+ one or more reduce resolution
+ overviews to an existing TIFF file. Supplied by
+ `Frank Warmerdam <http://pobox.com/~warmerdam>`_.
+
+ * - :file:`contrib/stream`
+ - A class (TiffStream) for accessing TIFF files through a C++ stream
+ interface. Supplied by `Avi Bleiweiss <avi@shutterfly.com>`_.
+
+
+Questions regarding these packages are usually best directed toward
+their authors.
diff --git a/doc/document.rst b/doc/document.rst
new file mode 100644
index 00000000..e1a9c1d0
--- /dev/null
+++ b/doc/document.rst
@@ -0,0 +1,28 @@
+TIFF Documentation
+==================
+
+.. image:: images/jim.gif
+ :width: 139
+ :alt: jim
+
+A copy of the 6.0 specification is available from Adobe at
+`<http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf>`_
+or from the libtiff
+ftp site at `<https://download.osgeo.org/libtiff/doc/TIFF6.pdf>`_.
+
+Draft :doc:`TIFFTechNote2` covers problems
+with the TIFF 6.0 design for embedding JPEG-compressed data in TIFF, and
+describes an alternative.
+
+Other Adobe information on TIFF can be retrieved from
+`<http://partners.adobe.com/public/developer/tiff/index.html>`_.
+
+Joris Van Damme maintains a list of known tags and their descriptions and
+definitions. It is available online at
+`<http://www.awaresystems.be/imaging/tiff/tifftags.html>`_.
+
+There is a FAQ, related both to TIFF format and libtiff library:
+`<http://www.awaresystems.be/imaging/tiff/faq.html>`_.
+
+There is a preliminary :ref:`bigtiffdesign` for
+a TIFF variation supporting files larger than 4GB.
diff --git a/doc/images.rst b/doc/images.rst
new file mode 100644
index 00000000..c275bd12
--- /dev/null
+++ b/doc/images.rst
@@ -0,0 +1,22 @@
+TIFF Test Images
+################
+
+.. image:: images/bali.jpg
+ :width: 158
+ :alt: bali
+
+
+Test images are available for most formats supported by the library.
+Most of the images included in the test kit are also part of this
+documentation (albeit in TIFF rather than GIF or JFIF).
+The images are kept in a separate archive that should be located in
+the same directory as this software.
+
+The latest archive of test images is located at
+`<https://download.osgeo.org/libtiff/pics-3.8.0.tar.gz>`_.
+
+There are two other good sources for TIFF test images:
+the contributed software :file:`contrib/dbs` includes several
+programs that generate test images suitable for debugging, and
+the :program:`tiffcp` program can be used to generate a variety
+of images with different storage characteristics.
diff --git a/html/images/back.gif b/doc/images/back.gif
index 11d0c35f..11d0c35f 100644
--- a/html/images/back.gif
+++ b/doc/images/back.gif
Binary files differ
diff --git a/html/images/bali.jpg b/doc/images/bali.jpg
index 1f5c146d..1f5c146d 100644
--- a/html/images/bali.jpg
+++ b/doc/images/bali.jpg
Binary files differ
diff --git a/html/images/cat.gif b/doc/images/cat.gif
index 5bd3fac1..5bd3fac1 100644
--- a/html/images/cat.gif
+++ b/doc/images/cat.gif
Binary files differ
diff --git a/html/images/cover.jpg b/doc/images/cover.jpg
index 8698cfb0..8698cfb0 100644
--- a/html/images/cover.jpg
+++ b/doc/images/cover.jpg
Binary files differ
diff --git a/html/images/cramps.gif b/doc/images/cramps.gif
index 9153f9ae..9153f9ae 100644
--- a/html/images/cramps.gif
+++ b/doc/images/cramps.gif
Binary files differ
diff --git a/html/images/dave.gif b/doc/images/dave.gif
index c36d4477..c36d4477 100644
--- a/html/images/dave.gif
+++ b/doc/images/dave.gif
Binary files differ
diff --git a/html/images/info.gif b/doc/images/info.gif
index 783d6315..783d6315 100644
--- a/html/images/info.gif
+++ b/doc/images/info.gif
Binary files differ
diff --git a/html/images/jello.jpg b/doc/images/jello.jpg
index df99e663..df99e663 100644
--- a/html/images/jello.jpg
+++ b/doc/images/jello.jpg
Binary files differ
diff --git a/html/images/jim.gif b/doc/images/jim.gif
index 9a18a031..9a18a031 100644
--- a/html/images/jim.gif
+++ b/doc/images/jim.gif
Binary files differ
diff --git a/html/images/note.gif b/doc/images/note.gif
index 7177d68a..7177d68a 100644
--- a/html/images/note.gif
+++ b/doc/images/note.gif
Binary files differ
diff --git a/html/images/oxford.gif b/doc/images/oxford.gif
index dd4b86e1..dd4b86e1 100644
--- a/html/images/oxford.gif
+++ b/doc/images/oxford.gif
Binary files differ
diff --git a/html/images/quad.jpg b/doc/images/quad.jpg
index 4b7df170..4b7df170 100644
--- a/html/images/quad.jpg
+++ b/doc/images/quad.jpg
Binary files differ
diff --git a/html/images/ring.gif b/doc/images/ring.gif
index 2a614f49..2a614f49 100644
--- a/html/images/ring.gif
+++ b/doc/images/ring.gif
Binary files differ
diff --git a/html/images/smallliz.jpg b/doc/images/smallliz.jpg
index 8eb827f8..8eb827f8 100644
--- a/html/images/smallliz.jpg
+++ b/doc/images/smallliz.jpg
Binary files differ
diff --git a/html/images/strike.gif b/doc/images/strike.gif
index 0709d198..0709d198 100644
--- a/html/images/strike.gif
+++ b/doc/images/strike.gif
Binary files differ
diff --git a/html/images/warning.gif b/doc/images/warning.gif
index f51eb4b1..f51eb4b1 100644
--- a/html/images/warning.gif
+++ b/doc/images/warning.gif
Binary files differ
diff --git a/doc/index.rst b/doc/index.rst
new file mode 100644
index 00000000..4b1ee989
--- /dev/null
+++ b/doc/index.rst
@@ -0,0 +1,81 @@
+####################################
+LibTIFF - TIFF Library and Utilities
+####################################
+
+.. table:: References
+ :widths: auto
+
+ ===================== =====================================
+ Name Reference
+ ===================== =====================================
+ Home Page #1 http://www.simplesystems.org/libtiff/
+ Home Page #2 https://libtiff.gitlab.io/libtiff/
+ Home Page #3 http://libtiff.maptools.org/
+ Latest Stable Release v4.4.0
+ Master Download Site `download.osgeo.org <https://download.osgeo.org/libtiff/>`_
+ Mailing List `tiff@lists.osgeo.org <tiff@lists.osgeo.org>`_
+ List subscription http://lists.osgeo.org/mailman/listinfo/tiff/
+ List archive http://www.awaresystems.be/imaging/tiff/tml.html
+ Source repository https://gitlab.com/libtiff/libtiff
+ ===================== =====================================
+
+This software provides support for the *Tag Image File Format* (TIFF),
+a widely used format for storing image data. The latest version of
+the TIFF specification is :doc:`document`
+available on-line in several different formats.
+
+Included in this software distribution is a library, libtiff, for
+reading and writing TIFF, a small collection of tools for doing
+simple manipulations of TIFF images, and documentation on the
+library and tools. Libtiff is a portable software, it was built
+and tested on various systems: UNIX flavors (Linux, BSD, Solaris,
+MacOS X), Windows, and OpenVMS. It should be possible to port
+libtiff and additional tools on other OSes.
+
+The library, along with associated tool programs, should handle most of
+your needs for reading and writing TIFF images on 32- and 64-bit
+machines.
+
+The software was originally authored and maintained by Sam Leffler
+but has been maintained by a cast of others since 1999.
+
+Questions should be sent to the TIFF mailing list:
+`tiff@lists.osgeo.org`_, with
+a subscription interface at
+http://lists.osgeo.org/mailman/listinfo/tiff.
+The persons currently actively maintaining and releasing libtiff
+are Even Rouault and
+`Bob Friesenhahn <bfriesen@GraphicsMagick.org>`_.
+Note from Even Rouault: do not email me personally, especially when asking
+"when is the next release ?", unless you are willing to
+pay a LOT of money for my services, and I may even not be interested.
+
+Significant maintainers in the past (since the 3.5.1 release) are
+`Frank Warmerdam <http://pobox.com/~warmerdam>`_,
+`Andrey Kiselev <dron@ak4719.spb.edu>`_,
+Joris Van Damme, and Lee Howard.
+
+The following sections are included in this documentation:
+
+.. toctree::
+ :maxdepth: 1
+ :titlesonly:
+
+ intro
+ support
+ libtiff
+ internals
+ addingtags
+ tools
+ contrib
+ document
+ TIFFTechNote2
+ build
+ bugs
+ images
+ misc
+ manpages
+ releases
+ BigTIFFProposal
+ bigtiffdesign
+ bigtiffpr
diff --git a/doc/internals.rst b/doc/internals.rst
new file mode 100644
index 00000000..ec6ef9ab
--- /dev/null
+++ b/doc/internals.rst
@@ -0,0 +1,466 @@
+Modifying The TIFF Library
+==========================
+
+.. image:: images/dave.gif
+ :width: 107
+ :alt: dave
+
+This chapter provides information about the internal structure of
+the library, how to control the configuration when building it, and
+how to add new support to the library.
+The following sections are found in this chapter:
+
+Library Configuration
+---------------------
+
+Information on compiling the library is given :ref:`build`
+elsewhere in this documentation.
+This section describes the low-level mechanisms used to control
+the optional parts of the library that are configured at build
+time. Control is based on
+a collection of C defines that are specified either on the compiler
+command line or in a configuration file such as :file:`port.h`
+(as generated by the :program:`configure` script for UNIX systems)
+or :file:`tiffconf.h`.
+
+Configuration defines are split into three areas:
+
+* those that control which compression schemes are
+ configured as part of the builtin codecs,
+* those that control support for groups of tags that
+ are considered optional, and
+* those that control operating system or machine-specific support.
+
+If the define :c:macro:`COMPRESSION_SUPPORT` is **not defined**
+then a default set of compression schemes is automatically
+configured:
+
+* CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, and 32771),
+* the Macintosh PackBits algorithm (compression 32773),
+* a 4-bit run-length encoding scheme from ThunderScan (compression 32809),
+* a 2-bit encoding scheme used by NeXT (compression 32766), and
+* two experimental schemes intended for images with high dynamic range
+ (compression 34676 and 34677).
+
+To override the default compression behaviour define
+:c:macro:`COMPRESSION_SUPPORT` and then one or more additional defines
+to enable configuration of the appropriate codecs (see the table
+below); e.g.
+
+.. highlight:: c
+
+::
+
+ #define COMPRESSION_SUPPORT
+ #define CCITT_SUPPORT
+ #define PACKBITS_SUPPORT
+
+Several other compression schemes are configured separately from
+the default set because they depend on ancillary software
+packages that are not distributed with LibTIFF.
+
+Support for JPEG compression is controlled by :c:macro:`JPEG_SUPPORT`.
+The JPEG codec that comes with LibTIFF is designed for
+use with release 5 or later of the Independent JPEG Group's freely
+available software distribution.
+This software can be retrieved from the directory
+`<ftp://ftp.uu.net/graphics/jpeg>`_.
+
+.. note::
+
+ Enabling JPEG support automatically enables support for
+ the TIFF 6.0 colorimetry and YCbCr-related tags.
+
+Experimental support for the deflate algorithm is controlled by
+:c:macro:`DEFLATE_SUPPORT`.
+The deflate codec that comes with LibTIFF is designed
+for use with version 0.99 or later of the freely available
+``libz`` library written by Jean-loup Gailly and Mark Adler.
+The data format used by this library is described
+in the files
+`<ftp://ftp.uu.net/pub/archiving/zip/doc/zlib-3.1.doc>`_,
+and
+`<ftp://ftp.uu.net/pub/archiving/zip/doc/deflate-1.1.doc>`_,
+available in the directory
+`<ftp://ftp.uu.net/pub/archiving/zip/doc>`_..
+The library can be retried from the directory
+`<ftp://ftp.uu.net/pub/archiving/zip/zlib>`_
+(or try `<ftp://quest.jpl.nasa.gov/beta/zlib/>`_).
+
+.. warning::
+
+ **The deflate algorithm is experimental. Do not expect
+ to exchange files using this compression scheme;
+ it is included only because the similar, and more common,
+ LZW algorithm is claimed to be governed by licensing restrictions.**
+
+By default :file:`tiffconf.h` defines
+:c:macro:`COLORIMETRY_SUPPORT`,
+:c:macro:`YCBCR_SUPPORT`,
+and
+:c:macro:`CMYK_SUPPORT`.
+
+
+.. list-table:: :file:`tiffconf.h` defines
+ :widths: 5 20
+ :header-rows: 1
+
+ * - Define
+ - Description
+
+ * - :c:macro:`CCITT_SUPPORT`
+ - CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, and 32771)
+
+ * - :c:macro:`PACKBITS_SUPPORT`
+ - Macintosh PackBits algorithm (compression 32773)
+
+ * - :c:macro:`LZW_SUPPORT`
+ - Lempel-Ziv & Welch (LZW) algorithm (compression 5)
+
+ * - :c:macro:`THUNDER_SUPPORT`
+ - 4-bit run-length encoding scheme from ThunderScan (compression 32809)
+
+ * - :c:macro:`NEXT_SUPPORT`
+ - 2-bit encoding scheme used by NeXT (compression 32766)
+
+ * - :c:macro:`OJPEG_SUPPORT`
+ - obsolete JPEG scheme defined in the 6.0 spec (compression 6)
+
+ * - :c:macro:`JPEG_SUPPORT`
+ - current JPEG scheme defined in TTN2 (compression 7)
+
+ * - :c:macro:`ZIP_SUPPORT`
+ - experimental Deflate scheme (compression 32946)
+
+ * - :c:macro:`PIXARLOG_SUPPORT`
+ - Pixar's compression scheme for high-resolution color images (compression 32909)
+
+ * - :c:macro:`SGILOG_SUPPORT`
+ - SGI's compression scheme for high-resolution color images (compression 34676 and 34677)
+
+ * - :c:macro:`COLORIMETRY_SUPPORT`
+ - support for the TIFF 6.0 colorimetry tags
+
+ * - :c:macro:`YCBCR_SUPPORT`
+ - support for the TIFF 6.0 YCbCr-related tags
+
+ * - :c:macro:`CMYK_SUPPORT`
+ - support for the TIFF 6.0 CMYK-related tags
+
+ * - :c:macro:`ICC_SUPPORT`
+ - support for the ICC Profile tag; see
+ *The ICC Profile Format Specification*,
+ Annex B.3 "Embedding ICC Profiles in TIFF Files";
+ available at
+ `<http://www.color.org/>`_
+
+General Portability Comments
+----------------------------
+
+This software is developed on Silicon Graphics UNIX
+systems (big-endian, MIPS CPU, 32-bit ints,
+IEEE floating point).
+The :program:`configure` shell script generates the appropriate
+include files and make files for UNIX systems.
+Makefiles exist for non-UNIX platforms that the
+code runs on---this work has mostly been done by other people.
+
+In general, the code is guaranteed to work only on SGI machines.
+In practice it is highly portable to any 32-bit or 64-bit system and much
+work has been done to insure portability to 16-bit systems.
+If you encounter portability problems please return fixes so
+that future distributions can be improved.
+
+The software is written to assume an ANSI C compilation environment.
+If your compiler does not support ANSI function prototypes, ``const``,
+and :file:`<stdarg.h>` then you will have to make modifications to the
+software. In the past I have tried to support compilers without ``const``
+and systems without :file:`<stdarg.h>`, but I am
+**no longer interested in these
+antiquated environments**. With the general availability of
+the freely available GCC compiler, I
+see no reason to incorporate modifications to the software for these
+purposes.
+
+An effort has been made to isolate as many of the
+operating system-dependencies
+as possible in two files: :file:`tiffcomp.h` and
+:file:`libtiff/tif_<os>.c`. The latter file contains
+operating system-specific routines to do I/O and I/O-related operations.
+The UNIX (:file:`tif_unix.c`) code has had the most use.
+
+Native CPU byte order is determined on the fly by
+the library and does not need to be specified.
+The :c:macro:`HOST_FILLORDER` and :c:macro:`HOST_BIGENDIAN`
+definitions are not currently used, but may be employed by
+codecs for optimization purposes.
+
+The following defines control general portability:
+
+.. list-table:: Portability defines
+ :widths: 5 20
+ :header-rows: 1
+
+ * - Define
+ - Description
+
+ * - :c:macro:`BSDTYPES`
+ - Define this if your system does **not** define the
+ usual BSD typedefs: :c:type:`u_char`,
+ :c:type:`u_short`, :c:type:`u_int`, :c:type:`u_long`.
+
+ * - :c:macro:`HAVE_IEEEFP`
+ - Define this as 0 or 1 according to the floating point
+ format supported by the machine. If your machine does
+ not support IEEE floating point then you will need to
+ add support to tif_machdep.c to convert between the
+ native format and IEEE format.
+
+ * - :c:macro:`HAVE_MMAP`
+ - Define this if there is *mmap-style* support for
+ mapping files into memory (used only to read data).
+
+ * - :c:macro:`HOST_FILLORDER`
+ - Define the native CPU bit order: one of :c:macro:`FILLORDER_MSB2LSB`
+ or :c:macro:`FILLORDER_LSB2MSB`
+
+ * - :c:macro:`HOST_BIGENDIAN`
+ - Define the native CPU byte order: 1 if big-endian (Motorola)
+ or 0 if little-endian (Intel); this may be used
+ in codecs to optimize code
+
+On UNIX systems :c:macro:`HAVE_MMAP` is defined through the running of
+the :program:`configure` script; otherwise support for memory-mapped
+files is disabled.
+Note that :file:`tiffcomp.h` defines :c:macro:`HAVE_IEEEFP` to be
+1 (:c:macro:`BSDTYPES` is not defined).
+
+Types and Portability
+---------------------
+
+The software makes extensive use of C typedefs to promote portability.
+Two sets of typedefs are used, one for communication with clients
+of the library and one for internal data structures and parsing of the
+TIFF format. There are interactions between these two to be careful
+of, but for the most part you should be able to deal with portability
+purely by fiddling with the following machine-dependent typedefs:
+
+.. list-table:: Portability typedefs
+ :widths: 5 15 5
+ :header-rows: 1
+
+ * - Typedef
+ - Description
+ - Header
+
+ * - :c:type:`uint8_t`
+ - 8-bit unsigned integer
+ - :file:`tiff.h`
+
+ * - :c:type:`int8_t`
+ - 8-bit signed integer
+ - :file:`tiff.h`
+
+ * - :c:type:`uint16_t`
+ - 16-bit unsigned integer
+ - :file:`tiff.h`
+
+ * - :c:type:`int16_t`
+ - 16-bit signed integer
+ - :file:`tiff.h`
+
+ * - :c:type:`uint32_t`
+ - 32-bit unsigned integer
+ - :file:`tiff.h`
+
+ * - :c:type:`int32_t`
+ - 32-bit signed integer
+ - :file:`tiff.h`
+
+ * - :c:type:`dblparam_t`
+ - promoted type for floats
+ - :file:`tiffcomp.h`
+
+(to clarify :c:type:`dblparam_t`, it is the type that float parameters are
+promoted to when passed by value in a function call.)
+
+The following typedefs are used throughout the library and interfaces
+to refer to certain objects whose size is dependent on the TIFF image
+structure:
+
+.. list-table:: TIFF image typedefs
+ :widths: 10 10 10
+ :header-rows: 1
+
+ * - Typedef
+ - Type
+ - Description
+
+
+ * - :c:type:`ttag_t`
+ - :c:type:`unsigned int`
+ - directory tag
+
+ * - :c:type:`tdir_t`
+ - :c:type:`uint16_t`
+ - directory index
+
+ * - :c:type:`tsample_t`
+ - :c:type:`uint16_t`
+ - sample number
+
+ * - :c:type:`tstrip_t`
+ - :c:type:`uint32_t`
+ - strip number
+
+ * - :c:type:`ttile_t`
+ - :c:type:`uint32_t`
+ - tile number
+
+ * - :c:type:`tsize_t`
+ - :c:type:`int32_t`
+ - i/o size in bytes
+
+ * - :c:type:`tdata_t`
+ - :c:type:`void *`
+ - image data ref
+
+ * - :c:type:`thandle_t`
+ - :c:type:`void *`
+ - client data handle
+
+ * - :c:type:`toff_t`
+ - :c:type:`int32_t`
+ - file offset (should be off_t)
+
+ * - :c:type:`tidata_t`
+ - :c:type:`unsigned char *`
+ - internal image data
+
+Note that :c:type:`tstrip_t`, :c:type:`ttile_t`, and :c:type:`tsize_t`
+are constrained to be
+no more than 32-bit quantities by 32-bit fields they are stored
+in in the TIFF image. Likewise :c:type:`tsample_t` is limited by the 16-bit
+field used to store the ``SamplesPerPixel`` tag. :c:type:`tdir_t`
+constrains
+the maximum number of IFDs that may appear in an image and may
+be an arbitrary size (without penalty). :c:type:`ttag_t` must be either
+:c:type:`int`, :c:type:`unsigned int`, pointer, or :c:type:`double`
+because the library uses a varargs
+interface and ANSI C restricts the type of the parameter before an
+ellipsis to be a promoted type. :c:type:`toff_t` is defined as
+:c:type:`int32_t` because
+TIFF file offsets are (unsigned) 32-bit quantities. A signed
+value is used because some interfaces return -1 on error (sigh).
+Finally, note that :c:type:`tidata_t` is used internally to the library to
+manipulate internal data. User-specified data references are
+passed as opaque handles and only cast at the lowest layers where
+their type is presumed.
+
+
+General Comments
+----------------
+
+The library is designed to hide as much of the details of TIFF from
+applications as
+possible. In particular, TIFF directories are read in their entirety
+into an internal format. Only the tags known by the library are
+available to a user and certain tag data may be maintained that a user
+does not care about (e.g. transfer function tables).
+
+Adding New Builtin Codecs
+-------------------------
+
+To add builtin support for a new compression algorithm, you can either
+use the "tag-extension" trick to override the handling of the
+TIFF Compression tag (see :ref:`addingtags`),
+or do the following to add support directly to the core library:
+
+* Define the tag value in :file:`tiff.h`.
+* Edit the file :file:`tif_codec.c` to add an entry to the
+ :c:var:`_TIFFBuiltinCODECS` array (see how other algorithms are handled).
+* Add the appropriate function prototype declaration to
+ :file:`tiffiop.h` (close to the bottom).
+* Create a file with the compression scheme code, by convention files
+ are named :file:`tif_*.c` (except perhaps on some systems where the
+ ``tif_`` prefix pushes some filenames over 14 chars.
+* Update build configuration to include new source file
+
+A codec, say ``foo``, can have many different entry points:
+
+::
+
+ TIFFInitfoo(tif, scheme) /* initialize scheme and setup entry points in tif */
+ fooSetupDecode(tif) /* called once per IFD after tags has been frozen */
+ fooPreDecode(tif, sample) /* called once per strip/tile, after data is read,
+ but before the first row is decoded */
+ fooDecode*(tif, bp, cc, sample) /* decode cc bytes of data into the buffer */
+ fooDecodeRow(...) /* called to decode a single scanline */
+ fooDecodeStrip(...) /* called to decode an entire strip */
+ fooDecodeTile(...) /* called to decode an entire tile */
+ fooSetupEncode(tif) /* called once per IFD after tags has been frozen */
+ fooPreEncode(tif, sample) /* called once per strip/tile, before the first row in
+ a strip/tile is encoded */
+ fooEncode*(tif, bp, cc, sample)/* encode cc bytes of user data (bp) */
+ fooEncodeRow(...) /* called to decode a single scanline */
+ fooEncodeStrip(...) /* called to decode an entire strip */
+ fooEncodeTile(...) /* called to decode an entire tile */
+ fooPostEncode(tif) /* called once per strip/tile, just before data is written */
+ fooSeek(tif, row) /* seek forwards row scanlines from the beginning
+ of a strip (row will always be &gt;0 and &lt;rows/strip */
+ fooCleanup(tif) /* called when compression scheme is replaced by user */
+
+Note that the encoding and decoding variants are only needed when
+a compression algorithm is dependent on the structure of the data.
+For example, Group 3 2D encoding and decoding maintains a reference
+scanline. The sample parameter identifies which sample is to be
+encoded or decoded if the image is organized with ``PlanarConfig=2``
+(separate planes). This is important for algorithms such as JPEG.
+If ``PlanarConfig=1`` (interleaved), then sample will always be 0.
+
+Other Comments
+--------------
+
+The library handles most I/O buffering. There are two data buffers
+when decoding data: a raw data buffer that holds all the data in a
+strip, and a user-supplied scanline buffer that compression schemes
+place decoded data into. When encoding data the data in the
+user-supplied scanline buffer is encoded into the raw data buffer (from
+where it is written). Decoding routines should never have to explicitly
+read data -- a full strip/tile's worth of raw data is read and scanlines
+never cross strip boundaries. Encoding routines must be cognizant of
+the raw data buffer size and call :c:func:`TIFFFlushData1` when necessary.
+Note that any pending data is automatically flushed when a new strip/tile is
+started, so there's no need do that in the tif_postencode routine (if
+one exists). Bit order is automatically handled by the library when
+a raw strip or tile is filled. If the decoded samples are interpreted
+by the decoding routine before they are passed back to the user, then
+the decoding logic must handle byte-swapping by overriding the
+:c:member:`tif_postdecode`
+routine (set it to :c:func:`TIFFNoPostDecode`) and doing the required work
+internally. For an example of doing this look at the horizontal
+differencing code in the routines in :file:`tif_predict.c`.
+
+The variables :c:member:`tif_rawcc`, :c:member:`tif_rawdata`, and
+:c:member:`tif_rawcp` in a :c:struct:`TIFF` structure
+are associated with the raw data buffer. :c:member:`tif_rawcc` must be non-zero
+for the library to automatically flush data. The variable
+:c:member:`tif_scanlinesize` is the size a user's scanline buffer should be. The
+variable :c:member:`tif_tilesize` is the size of a tile for tiled images. This
+should not normally be used by compression routines, except where it
+relates to the compression algorithm. That is, the ``cc`` parameter to the
+:c:member:`tif_decode*` and :c:member:`tif_encode*`
+routines should be used in terminating
+decompression/compression. This ensures these routines can be used,
+for example, to decode/encode entire strips of data.
+
+In general, if you have a new compression algorithm to add, work from
+the code for an existing routine. In particular,
+:file:`tif_dumpmode.c`
+has the trivial code for the "nil" compression scheme,
+:file:`tif_packbits.c` is a
+simple byte-oriented scheme that has to watch out for buffer
+boundaries, and :file:`tif_lzw.c` has the LZW scheme that has the most
+complexity -- it tracks the buffer boundary at a bit level.
+Of course, using a private compression scheme (or private tags) limits
+the portability of your TIFF files.
diff --git a/html/intro.html b/doc/intro.rst
index ad3b2d91..bdf5fd92 100644
--- a/html/intro.html
+++ b/doc/intro.rst
@@ -1,50 +1,40 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
Introduction to the TIFF Documentation
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/strike.gif" WIDTH=128 HEIGHT=100 ALIGN=left HSPACE=6 ALT="strike">
-Introduction to the TIFF Documentation
-</H1>
+======================================
+.. image:: images/strike.gif
+ :width: 128
+ :alt: strike
-<P>
The following definitions are used throughout this documentation.
They are consistent with the terminology used in the TIFF 6.0 specification.
-<DL>
-<DT><I>Sample</I>
-<DD>The unit of information stored in an image; often called a
- channel elsewhere. Sample values are numbers, usually unsigned
- integers, but possibly in some other format if the SampleFormat
- tag is specified in a TIFF
-<DT><I>Pixel</I>
-<DD>A collection of one or more samples that go together.
-<DT><I>Row</I>
-<DD>An Nx1 rectangular collection of pixels.
-<DT><I>Tile</I>
-<DD>An NxM rectangular organization of data (or pixels).
-<DT><I>Strip</I>
-<DD>A tile whose width is the full image width.
-<DT><I>Compression</I>
-<DD>A scheme by which pixel or sample data are stored in
- an encoded form, specifically with the intent of reducing the
- storage cost.
-<DT><I>Codec</I>
-<DD>Software that implements the decoding and encoding algorithms
- of a compression scheme.
-</DL>
+Sample:
+ The unit of information stored in an image; often called a
+ channel elsewhere. Sample values are numbers, usually unsigned
+ integers, but possibly in some other format if the SampleFormat
+ tag is specified in a TIFF
+
+Pixel:
+ A collection of one or more samples that go together.
+
+Row:
+ An Nx1 rectangular collection of pixels.
+
+Tile:
+ An NxM rectangular organization of data (or pixels).
+
+Strip:
+ A tile whose width is the full image width.
+
+Compression:
+ A scheme by which pixel or sample data are stored in
+ an encoded form, specifically with the intent of reducing the
+ storage cost.
+
+Codec:
+ Software that implements the decoding and encoding algorithms
+ of a compression scheme.
-<P>
In order to better understand how TIFF works (and consequently this
software) it is important to recognize the distinction between the
physical organization of image data as it is stored in a TIFF and how
@@ -62,12 +52,3 @@ daunting. Good applications that handle TIFF work by handling as wide
a range of storage formats as possible, while constraining the
acceptable image characteristics to those that make sense for the
application.
-
-
-<P>
-<HR>
-
-Last updated: $Date: 2016-09-25 20:05:44 $
-
-</BODY>
-</HTML>
diff --git a/doc/libtiff.rst b/doc/libtiff.rst
new file mode 100644
index 00000000..849d8ac5
--- /dev/null
+++ b/doc/libtiff.rst
@@ -0,0 +1,678 @@
+Using The TIFF Library
+======================
+
+.. image:: images/cat.gif
+ :width: 113
+ :alt: cat
+
+``libtiff`` is a set of C functions (a library) that support
+the manipulation of TIFF image files.
+The library requires an ANSI C compilation environment for building
+and presumes an ANSI C environment for use.
+
+``libtiff``
+provides interfaces to image data at several layers of abstraction (and cost).
+At the highest level image data can be read into an 8-bit/sample,
+ABGR pixel raster format without regard for the underlying data organization,
+colorspace, or compression scheme. Below this high-level interface
+the library provides scanline-, strip-, and tile-oriented interfaces that
+return data decompressed but otherwise untransformed. These interfaces
+require that the application first identify the organization of stored
+data and select either a strip-based or tile-based API for manipulating
+data. At the lowest level the library
+provides access to the raw uncompressed strips or tiles,
+returning the data exactly as it appears in the file.
+
+The material presented in this chapter is a basic introduction
+to the capabilities of the library; it is not an attempt to describe
+everything a developer needs to know about the library or about TIFF.
+Detailed information on the interfaces to the library are given in
+the <a href="man/index.html">UNIX manual pages</a> that accompany
+this software.
+
+Michael Still has also written a useful introduction to libtiff for the
+IBM DeveloperWorks site available at
+`<http://www.ibm.com/developerworks/linux/library/l-libtiff>`_.
+
+
+How to tell which version you have
+----------------------------------
+
+The software version can be found by looking at the file named
+:file:`VERSION`
+that is located at the top of the source tree; the precise alpha number
+is given in the file :file:`dist/tiff.alpha`.
+If you have need to refer to this
+specific software, you should identify it as:
+
+::
+
+ TIFF <version> <alpha>
+
+where ``<version>`` is whatever you get from
+``cat VERSION`` and ``<alpha>`` is
+what you get from ``cat dist/tiff.alpha``.
+
+Within an application that uses ``libtiff`` the :c:func:`TIFFGetVersion`
+routine will return a pointer to a string that contains software version
+information.
+The library include file :file:`<tiffio.h>` contains a C pre-processor
+define :c:define:`TIFFLIB_VERSION` that can be used to check library
+version compatibility at compile time.
+
+Library Datatypes
+-----------------
+
+``libtiff`` defines a portable programming interface through the
+use of a set of C type definitions.
+These definitions, defined in in the files :file:`tiff.h` and
+:file:`tiffio.h`,
+isolate the ``libtiff`` API from the characteristics
+of the underlying machine.
+To insure portable code and correct operation, applications that use
+``libtiff`` should use the typedefs and follow the function
+prototypes for the library API.
+
+Memory Management
+-----------------
+
+``libtiff`` uses a machine-specific set of routines for managing
+dynamically allocated memory.
+:c:func:`_TIFFmalloc`, :c:func:`_TIFFrealloc`, and :c:func:`_TIFFfree`
+mimic the normal ANSI C routines.
+Any dynamically allocated memory that is to be passed into the library
+should be allocated using these interfaces in order to insure pointer
+compatibility on machines with a segmented architecture.
+(On 32-bit UNIX systems these routines just call the normal :c:func:`malloc`,
+:c:func:`realloc`, and :c:func:`free` routines in the C library.)
+
+To deal with segmented pointer issues ``libtiff`` also provides
+:c:func:`_TIFFmemcpy`, :c:func:`_TIFFmemset`, and :c:func:`_TIFFmemmove`
+routines that mimic the equivalent ANSI C routines, but that are
+intended for use with memory allocated through :c:func:`_TIFFmalloc`
+and :c:func:`_TIFFrealloc`.
+
+Error Handling
+--------------
+
+``libtiff`` handles most errors by returning an invalid/erroneous
+value when returning from a function call.
+Various diagnostic messages may also be generated by the library.
+All error messages are directed to a single global error handler
+routine that can be specified with a call to :c:func:`TIFFSetErrorHandler`.
+Likewise warning messages are directed to a single handler routine
+that can be specified with a call to :c:func:`TIFFSetWarningHandler`
+
+Basic File Handling
+-------------------
+
+The library is modeled after the normal UNIX stdio library.
+For example, to read from an existing TIFF image the
+file must first be opened:
+
+.. highlight:: c
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("foo.tif", "r");
+ /* ... do stuff ... */
+ TIFFClose(tif);
+ }
+
+The handle returned by :c:func:`TIFFOpen` is *opaque*, that is
+the application is not permitted to know about its contents.
+All subsequent library calls for this file must pass the handle
+as an argument.
+
+To create or overwrite a TIFF image the file is also opened, but with
+a ``"w"`` argument:
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("foo.tif", "w");
+ ... do stuff ...
+ TIFFClose(tif);
+ }
+
+If the file already exists it is first truncated to zero length.
+
+.. warning::
+
+ Unlike the stdio library TIFF image files may not be
+ opened for both reading and writing;
+ there is no support for altering the contents of a TIFF file.
+
+``libtiff`` buffers much information associated with writing a
+valid TIFF image. Consequently, when writing a TIFF image it is necessary
+to always call :c:func:`TIFFClose` or :c:func:`TIFFFlush` to flush any
+buffered information to a file. Note that if you call :c:func:`TIFFClose`
+you do not need to call :c:func:`TIFFFlush`.
+
+TIFF Directories
+----------------
+
+TIFF supports the storage of multiple images in a single file.
+Each image has an associated data structure termed a *directory*
+that houses all the information about the format and content of the
+image data.
+Images in a file are usually related but they do not need to be; it
+is perfectly alright to store a color image together with a black and
+white image.
+Note however that while images may be related their directories are
+not.
+That is, each directory stands on its own; there is no need to read
+an unrelated directory in order to properly interpret the contents
+of an image.
+
+``libtiff`` provides several routines for reading and writing
+directories. In normal use there is no need to explicitly
+read or write a directory: the library automatically reads the first
+directory in a file when opened for reading, and directory information
+to be written is automatically accumulated and written when writing
+(assuming :c:func:`TIFFClose` or :c:func:`TIFFFlush` are called).
+
+For a file open for reading the :c:func:`TIFFSetDirectory` routine can
+be used to select an arbitrary directory; directories are referenced by
+number with the numbering starting at 0. Otherwise the
+:c:func:`TIFFReadDirectory` and :c:func:`TIFFWriteDirectory` routines can
+be used for sequential access to directories.
+For example, to count the number of directories in a file the following
+code might be used:
+
+::
+
+ #include "tiffio.h"
+ main(int argc, char* argv[])
+ {
+ TIFF* tif = TIFFOpen(argv[1], "r");
+ if (tif) {
+ int dircount = 0;
+ do {
+ dircount++;
+ } while (TIFFReadDirectory(tif));
+ printf("%d directories in %s\n", dircount, argv[1]);
+ TIFFClose(tif);
+ }
+ exit(0);
+ }
+
+
+Finally, note that there are several routines for querying the
+directory status of an open file:
+:c:func:`TIFFCurrentDirectory` returns the index of the current
+directory and
+:c:func:`TIFFLastDirectory` returns an indication of whether the
+current directory is the last directory in a file.
+There is also a routine, :c:func:`TIFFPrintDirectory`, that can
+be called to print a formatted description of the contents of
+the current directory; consult the manual page for complete details.
+
+TIFF Tags
+---------
+
+Image-related information such as the image width and height, number
+of samples, orientation, colorimetric information, etc.
+are stored in each image
+directory in *fields* or *tags*.
+Tags are identified by a number that is usually a value registered
+with the Aldus (now Adobe) Corporation.
+Beware however that some vendors write
+TIFF images with tags that are unregistered; in this case interpreting
+their contents is usually a waste of time.
+
+``libtiff`` reads the contents of a directory all at once
+and converts the on-disk information to an appropriate in-memory
+form. While the TIFF specification permits an arbitrary set of
+tags to be defined and used in a file, the library only understands
+a limited set of tags.
+Any unknown tags that are encountered in a file are ignored.
+There is a mechanism to extend the set of tags the library handles
+without modifying the library itself;
+this is described in :ref:`addingtags`.
+
+``libtiff`` provides two interfaces for getting and setting tag
+values: :c:func:`TIFFGetField` and :c:func:`TIFFSetField`.
+These routines use a variable argument list-style interface to pass
+parameters of different type through a single function interface.
+The *get interface* takes one or more pointers to memory locations
+where the tag values are to be returned and also returns one or
+zero according to whether the requested tag is defined in the directory.
+The *set interface* takes the tag values either by-reference or
+by-value.
+The TIFF specification defines
+*default values* for some tags.
+To get the value of a tag, or its default value if it is undefined,
+the :c:func:`TIFFGetFieldDefaulted` interface may be used.
+
+The manual pages for the tag get and set routines specify the exact data types
+and calling conventions required for each tag supported by the library.
+
+TIFF Compression Schemes
+------------------------
+
+``libtiff`` includes support for a wide variety of
+data compression schemes.
+In normal operation a compression scheme is automatically used when
+the TIFF ``Compression`` tag is set, either by opening a file
+for reading, or by setting the tag when writing.
+
+Compression schemes are implemented by software modules termed *codecs*
+that implement decoder and encoder routines that hook into the
+core library i/o support.
+Codecs other than those bundled with the library can be registered
+for use with the :c:func:`TIFFRegisterCODEC` routine.
+This interface can also be used to override the core-library
+implementation for a compression scheme.
+
+Byte Order
+----------
+
+The TIFF specification says, and has always said, that
+*a correct TIFF
+reader must handle images in big-endian and little-endian byte order*.
+``libtiff`` conforms in this respect.
+Consequently there is no means to force a specific
+byte order for the data written to a TIFF image file (data is
+written in the native order of the host CPU unless appending to
+an existing file, in which case it is written in the byte order
+specified in the file).
+
+Data Placement
+--------------
+
+The TIFF specification requires that all information except an
+8-byte header can be placed anywhere in a file.
+In particular, it is perfectly legitimate for directory information
+to be written after the image data itself.
+Consequently TIFF is inherently not suitable for passing through a
+stream-oriented mechanism such as UNIX pipes.
+Software that require that data be organized in a file in a particular
+order (e.g. directory information before image data) does not
+correctly support TIFF.
+``libtiff`` provides no mechanism for controlling the placement
+of data in a file; image data is typically written before directory
+information.
+
+TIFFRGBAImage Support
+---------------------
+
+``libtiff`` provides a high-level interface for reading image
+data from a TIFF file. This interface handles the details of
+data organization and format for a wide variety of TIFF files;
+at least the large majority of those files that one would normally
+encounter. Image data is, by default, returned as ABGR
+pixels packed into 32-bit words (8 bits per sample). Rectangular
+rasters can be read or data can be intercepted at an intermediate
+level and packed into memory in a format more suitable to the
+application.
+The library handles all the details of the format of data stored on
+disk and, in most cases, if any colorspace conversions are required:
+bilevel to RGB, greyscale to RGB, CMYK to RGB, YCbCr to RGB, 16-bit
+samples to 8-bit samples, associated/unassociated alpha, etc.
+
+There are two ways to read image data using this interface. If
+all the data is to be stored in memory and manipulated at once,
+then the routine :c:func:`TIFFReadRGBAImage` can be used:
+
+::
+
+ #include "tiffio.h"
+ main(int argc, char* argv[])
+ {
+ TIFF* tif = TIFFOpen(argv[1], "r");
+ if (tif) {
+ uint32_t w, h;
+ size_t npixels;
+ uint32_t* raster;
+
+ TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &amp;w);
+ TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;h);
+ npixels = w * h;
+ raster = (uint32_t*) _TIFFmalloc(npixels * sizeof (uint32_t));
+ if (raster != NULL) {
+ if (TIFFReadRGBAImage(tif, w, h, raster, 0)) {
+ ...process raster data...
+ }
+ _TIFFfree(raster);
+ }
+ TIFFClose(tif);
+ }
+ exit(0);
+ }
+
+Note above that :c:func:`_TIFFmalloc` is used to allocate memory for
+the raster passed to :c:func:`TIFFReadRGBAImage`; this is important
+to insure the "appropriate type of memory" is passed on machines
+with segmented architectures.
+
+Alternatively, :c:func:`TIFFReadRGBAImage` can be replaced with a
+more low-level interface that permits an application to have more
+control over this reading procedure. The equivalent to the above
+is:
+
+::
+
+ #include "tiffio.h"
+ main(int argc, char* argv[])
+ {
+ TIFF* tif = TIFFOpen(argv[1], "r");
+ if (tif) {
+ TIFFRGBAImage img;
+ char emsg[1024];
+
+ if (TIFFRGBAImageBegin(&amp;img, tif, 0, emsg)) {
+ size_t npixels;
+ uint32_t* raster;
+
+ npixels = img.width * img.height;
+ raster = (uint32_t*) _TIFFmalloc(npixels * sizeof (uint32_t));
+ if (raster != NULL) {
+ if (TIFFRGBAImageGet(&amp;img, raster, img.width, img.height)) {
+ ...process raster data...
+ }
+ _TIFFfree(raster);
+ }
+ TIFFRGBAImageEnd(&amp;img);
+ } else
+ TIFFError(argv[1], emsg);
+ TIFFClose(tif);
+ }
+ exit(0);
+ }
+
+However this usage does not take advantage of the more fine-grained
+control that's possible. That is, by using this interface it is
+possible to:
+
+* repeatedly fetch (and manipulate) an image without opening
+ and closing the file
+* interpose a method for packing raster pixel data according to
+ application-specific needs (or write the data at all)
+* interpose methods that handle TIFF formats that are not already
+ handled by the core library
+
+The first item means that, for example, image viewers that want to
+handle multiple files can cache decoding information in order to
+speedup the work required to display a TIFF image.
+
+The second item is the main reason for this interface. By interposing
+a "put method" (the routine that is called to pack pixel data in
+the raster) it is possible share the core logic that understands how
+to deal with TIFF while packing the resultant pixels in a format that
+is optimized for the application. This alternate format might be very
+different than the 8-bit per sample ABGR format the library writes by
+default. For example, if the application is going to display the image
+on an 8-bit colormap display the put routine might take the data and
+convert it on-the-fly to the best colormap indices for display.
+
+The last item permits an application to extend the library
+without modifying the core code.
+By overriding the code provided an application might add support
+for some esoteric flavor of TIFF that it needs, or it might
+substitute a packing routine that is able to do optimizations
+using application/environment-specific information.
+
+The TIFF image viewer found in :file:`tools/sgigt.c` is an example
+of an application that makes use of the :c:func:`TIFFRGBAImage`
+support.
+
+Scanline-based Image I/O
+------------------------
+
+The simplest interface provided by ``libtiff`` is a
+scanline-oriented interface that can be used to read TIFF
+images that have their image data organized in strips
+(trying to use this interface to read data written in tiles
+will produce errors.)
+A scanline is a one pixel high row of image data whose width
+is the width of the image.
+Data is returned packed if the image data is stored with samples
+packed together, or as arrays of separate samples if the data
+is stored with samples separated.
+The major limitation of the scanline-oriented interface, other
+than the need to first identify an existing file as having a
+suitable organization, is that random access to individual
+scanlines can only be provided when data is not stored in a
+compressed format, or when the number of rows in a strip
+of image data is set to one (``RowsPerStrip`` is one).
+
+Two routines are provided for scanline-based i/o:
+:c:func:`TIFFReadScanline`
+and
+:c:func:`TIFFWriteScanline`.
+For example, to read the contents of a file that
+is assumed to be organized in strips, the following might be used:
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("myfile.tif", "r");
+ if (tif) {
+ uint32_t imagelength;
+ tdata_t buf;
+ uint32_t row;
+
+ TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;imagelength);
+ buf = _TIFFmalloc(TIFFScanlineSize(tif));
+ for (row = 0; row &lt; imagelength; row++)
+ TIFFReadScanline(tif, buf, row, 0);
+ _TIFFfree(buf);
+ TIFFClose(tif);
+ }
+ }
+
+:c:func:`TIFFScanlineSize` returns the number of bytes in
+a decoded scanline, as returned by :c:func:`TIFFReadScanline`.
+Note however that if the file had been create with samples
+written in separate planes, then the above code would only
+read data that contained the first sample of each pixel;
+to handle either case one might use the following instead:
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("myfile.tif", "r");
+ if (tif) {
+ uint32_t imagelength;
+ tdata_t buf;
+ uint32_t row;
+
+ TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;imagelength);
+ TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &amp;config);
+ buf = _TIFFmalloc(TIFFScanlineSize(tif));
+ if (config == PLANARCONFIG_CONTIG) {
+ for (row = 0; row &lt; imagelength; row++)
+ TIFFReadScanline(tif, buf, row, 0);
+ } else if (config == planarconfig_separate) {
+ uint16_t s, nsamples;
+
+ tiffgetfield(tif, tifftag_samplesperpixel, &amp;nsamples);
+ for (s = 0; s &lt; nsamples; s++)
+ for (row = 0; row &lt; imagelength; row++)
+ TIFFReadScanline(tif, buf, row, s);
+ }
+ _TIFFfree(buf);
+ TIFFClose(tif);
+ }
+ }
+
+Beware however that if the following code were used instead to
+read data in the case ``PLANARCONFIG_SEPARATE``,...
+
+::
+
+ for (row = 0; row &lt; imagelength; row++)
+ for (s = 0; s &lt; nsamples; s++)
+ TIFFReadScanline(tif, buf, row, s);</tt>
+
+...then problems would arise if ``RowsPerStrip`` was not one
+because the order in which scanlines are requested would require
+random access to data within strips (something that is not supported
+by the library when strips are compressed).
+
+Strip-oriented Image I/O
+------------------------
+
+The strip-oriented interfaces provided by the library provide
+access to entire strips of data. Unlike the scanline-oriented
+calls, data can be read or written compressed or uncompressed.
+Accessing data at a strip (or tile) level is often desirable
+because there are no complications with regard to random access
+to data within strips.
+
+A simple example of reading an image by strips is:
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("myfile.tif", "r");
+ if (tif) {
+ tdata_t buf;
+ tstrip_t strip;
+
+ buf = _TIFFmalloc(TIFFStripSize(tif));
+ for (strip = 0; strip &lt; tiffnumberofstrips(tif); strip++)
+ tiffreadencodedstrip(tif, strip, buf, (tsize_t) -1);
+ _TIFFfree(buf);
+ TIFFClose(tif);
+ }
+ }
+
+Notice how a strip size of ``-1`` is used; :c:func:`TIFFReadEncodedStrip`
+will calculate the appropriate size in this case.
+
+The above code reads strips in the order in which the
+data is physically stored in the file. If multiple samples
+are present and data is stored with ``PLANARCONFIG_SEPARATE``
+then all the strips of data holding the first sample will be
+read, followed by strips for the second sample, etc.
+
+Finally, note that the last strip of data in an image may have fewer
+rows in it than specified by the ``RowsPerStrip`` tag. A
+reader should not assume that each decoded strip contains a full
+set of rows in it.
+
+The following is an example of how to read raw strips of data from
+a file:
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("myfile.tif", "r");
+ if (tif) {
+ tdata_t buf;
+ tstrip_t strip;
+ uint32_t* bc;
+ uint32_t stripsize;
+
+ TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &amp;bc);
+ stripsize = bc[0];
+ buf = _TIFFmalloc(stripsize);
+ for (strip = 0; strip &lt; tiffnumberofstrips(tif); strip++) {
+ if (bc[strip] &gt; stripsize) {
+ buf = _TIFFrealloc(buf, bc[strip]);
+ stripsize = bc[strip];
+ }
+ TIFFReadRawStrip(tif, strip, buf, bc[strip]);
+ }
+ _TIFFfree(buf);
+ TIFFClose(tif);
+ }
+ }
+
+As above the strips are read in the order in which they are
+physically stored in the file; this may be different from the
+logical ordering expected by an application.
+
+Tile-oriented Image I/O
+-----------------------
+
+Tiles of data may be read and written in a manner similar to strips.
+With this interface, an image is
+broken up into a set of rectangular areas that may have dimensions
+less than the image width and height. All the tiles
+in an image have the same size, and the tile width and length must each
+be a multiple of 16 pixels. Tiles are ordered left-to-right and
+top-to-bottom in an image. As for scanlines, samples can be packed
+contiguously or separately. When separated, all the tiles for a sample
+are colocated in the file. That is, all the tiles for sample 0 appear
+before the tiles for sample 1, etc.
+
+Tiles and strips may also be extended in a z dimension to form
+volumes. Data volumes are organized as "slices". That is, all the
+data for a slice is colocated. Volumes whose data is organized in
+tiles can also have a tile depth so that data can be organized in
+cubes.
+
+There are actually two interfaces for tiles.
+One interface is similar to scanlines, to read a tiled image,
+code of the following sort might be used:
+
+::
+
+ main()
+ {
+ TIFF* tif = TIFFOpen("myfile.tif", "r");
+ if (tif) {
+ uint32_t imageWidth, imageLength;
+ uint32_t tileWidth, tileLength;
+ uint32_t x, y;
+ tdata_t buf;
+
+ TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &amp;imageWidth);
+ TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;imageLength);
+ TIFFGetField(tif, TIFFTAG_TILEWIDTH, &amp;tileWidth);
+ TIFFGetField(tif, TIFFTAG_TILELENGTH, &amp;tileLength);
+ buf = _TIFFmalloc(TIFFTileSize(tif));
+ for (y = 0; y &lt; imagelength; y += tilelength)
+ for (x = 0; x &lt; imagewidth; x += tilewidth)
+ tiffreadtile(tif, buf, x, y, 0);
+ _TIFFfree(buf);
+ TIFFClose(tif);
+ }
+ }
+
+(once again, we assume samples are packed contiguously.)
+
+Alternatively a direct interface to the low-level data is provided
+á la strips. Tiles can be read with
+:c:func:`TIFFReadEncodedTile` or :c:func:`TIFFReadRawTile`,
+and written with :c:func:`TIFFWriteEncodedTile` or
+:c:func:`TIFFWriteRawTile`. For example, to read all the tiles in an image:
+
+::
+
+ #include "tiffio.h"
+ main()
+ {
+ TIFF* tif = TIFFOpen("myfile.tif", "r");
+ if (tif) {
+ tdata_t buf;
+ ttile_t tile;
+
+ buf = _TIFFmalloc(TIFFTileSize(tif));
+ for (tile = 0; tile &lt; tiffnumberoftiles(tif); tile++)
+ tiffreadencodedtile(tif, tile, buf, (tsize_t) -1);
+ _TIFFfree(buf);
+ TIFFClose(tif);
+ }
+ }
+
+Other Stuff
+-----------
+
+Some other stuff will almost certainly go here...
diff --git a/doc/manpages.rst b/doc/manpages.rst
new file mode 100644
index 00000000..dc0ea239
--- /dev/null
+++ b/doc/manpages.rst
@@ -0,0 +1,67 @@
+Manual pages
+============
+
+
+* `libtiff.3tiff <man/libtiff.3tiff.html>`_
+* `TIFFbuffer.3tiff <man/TIFFbuffer.3tiff.html>`_
+* `TIFFClose.3tiff <man/TIFFClose.3tiff.html>`_
+* `TIFFcodec.3tiff <man/TIFFcodec.3tiff.html>`_
+* `TIFFcolor.3tiff <man/TIFFcolor.3tiff.html>`_
+* `TIFFDataWidth.3tiff <man/TIFFDataWidth.3tiff.html>`_
+* `TIFFError.3tiff <man/TIFFError.3tiff.html>`_
+* `TIFFFieldDataType.3tiff <man/TIFFFieldDataType.3tiff.html>`_
+* `TIFFFieldName.3tiff <man/TIFFFieldName.3tiff.html>`_
+* `TIFFFieldPassCount.3tiff <man/TIFFFieldPassCount.3tiff.html>`_
+* `TIFFFieldReadCount.3tiff <man/TIFFFieldReadCount.3tiff.html>`_
+* `TIFFFieldTag.3tiff <man/TIFFFieldTag.3tiff.html>`_
+* `TIFFFieldWriteCount.3tiff <man/TIFFFieldWriteCount.3tiff.html>`_
+* `TIFFFlush.3tiff <man/TIFFFlush.3tiff.html>`_
+* `TIFFGetField.3tiff <man/TIFFGetField.3tiff.html>`_
+* `TIFFmemory.3tiff <man/TIFFmemory.3tiff.html>`_
+* `TIFFOpen.3tiff <man/TIFFOpen.3tiff.html>`_
+* `TIFFPrintDirectory.3tiff <man/TIFFPrintDirectory.3tiff.html>`_
+* `TIFFquery.3tiff <man/TIFFquery.3tiff.html>`_
+* `TIFFReadDirectory.3tiff <man/TIFFReadDirectory.3tiff.html>`_
+* `TIFFReadEncodedStrip.3tiff <man/TIFFReadEncodedStrip.3tiff.html>`_
+* `TIFFReadEncodedTile.3tiff <man/TIFFReadEncodedTile.3tiff.html>`_
+* `TIFFReadRawStrip.3tiff <man/TIFFReadRawStrip.3tiff.html>`_
+* `TIFFReadRawTile.3tiff <man/TIFFReadRawTile.3tiff.html>`_
+* `TIFFReadRGBAImage.3tiff <man/TIFFReadRGBAImage.3tiff.html>`_
+* `TIFFReadRGBAStrip.3tiff <man/TIFFReadRGBAStrip.3tiff.html>`_
+* `TIFFReadRGBATile.3tiff <man/TIFFReadRGBATile.3tiff.html>`_
+* `TIFFReadScanline.3tiff <man/TIFFReadScanline.3tiff.html>`_
+* `TIFFReadTile.3tiff <man/TIFFReadTile.3tiff.html>`_
+* `TIFFRGBAImage.3tiff <man/TIFFRGBAImage.3tiff.html>`_
+* `TIFFSetDirectory.3tiff <man/TIFFSetDirectory.3tiff.html>`_
+* `TIFFSetField.3tiff <man/TIFFSetField.3tiff.html>`_
+* `TIFFsize.3tiff <man/TIFFsize.3tiff.html>`_
+* `TIFFstrip.3tiff <man/TIFFstrip.3tiff.html>`_
+* `TIFFswab.3tiff <man/TIFFswab.3tiff.html>`_
+* `TIFFtile.3tiff <man/TIFFtile.3tiff.html>`_
+* `TIFFWarning.3tiff <man/TIFFWarning.3tiff.html>`_
+* `TIFFWriteDirectory.3tiff <man/TIFFWriteDirectory.3tiff.html>`_
+* `TIFFWriteEncodedStrip.3tiff <man/TIFFWriteEncodedStrip.3tiff.html>`_
+* `TIFFWriteEncodedTile.3tiff <man/TIFFWriteEncodedTile.3tiff.html>`_
+* `TIFFWriteRawStrip.3tiff <man/TIFFWriteRawStrip.3tiff.html>`_
+* `TIFFWriteRawTile.3tiff <man/TIFFWriteRawTile.3tiff.html>`_
+* `TIFFWriteScanline.3tiff <man/TIFFWriteScanline.3tiff.html>`_
+* `TIFFWriteTile.3tiff <man/TIFFWriteTile.3tiff.html>`_
+* `fax2ps.1 <man/fax2ps.1.html>`_
+* `fax2tiff.1 <man/fax2tiff.1.html>`_
+* `pal2rgb.1 <man/pal2rgb.1.html>`_
+* `ppm2tiff.1 <man/ppm2tiff.1.html>`_
+* `raw2tiff.1 <man/raw2tiff.1.html>`_
+* `tiff2bw.1 <man/tiff2bw.1.html>`_
+* `tiff2pdf.1 <man/tiff2pdf.1.html>`_
+* `tiff2ps.1 <man/tiff2ps.1.html>`_
+* `tiff2rgba.1 <man/tiff2rgba.1.html>`_
+* `tiffcmp.1 <man/tiffcmp.1.html>`_
+* `tiffcp.1 <man/tiffcp.1.html>`_
+* `tiffcrop.1 <man/tiffcrop.1.html>`_
+* `tiffdither.1 <man/tiffdither.1.html>`_
+* `tiffdump.1 <man/tiffdump.1.html>`_
+* `tiffgt.1 <man/tiffgt.1.html>`_
+* `tiffinfo.1 <man/tiffinfo.1.html>`_
+* `tiffmedian.1 <man/tiffmedian.1.html>`_
+* `tiffset.1 <man/tiffset.1.html>`_
+* `tiffsplit.1 <man/tiffsplit.1.html>`_
diff --git a/html/misc.html b/doc/misc.rst
index 69d3ba18..1c539640 100644
--- a/html/misc.html
+++ b/doc/misc.rst
@@ -1,40 +1,27 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
Acknowledgments and Other Issues
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/ring.gif" WIDTH=124 HEIGHT=124 ALIGN=left BORDER=1 HSPACE=6 ALT="ring">
-Acknowledgments and Other Issues
-</H1>
+--------------------------------
+
+.. image:: images/ring.gif
+ :width: 124
+ :alt: ring
-<P>
Silicon Graphics has seen fit to allow us to give this work away. It
is free. There is no support or guarantee of any sort as to its
operations, correctness, or whatever. If you do anything useful with
all or parts of it you need to honor the copyright notices. It would
-also be nice to be acknowledged.<p>
+also be nice to be acknowledged.
-<BR CLEAR=left>
-
-<H2>Acknowledgements</H2>
+Acknowledgements
+----------------
The libtiff software was written by Sam Leffler while working for
-Silicon Graphics.<p>
+Silicon Graphics.
The LZW algorithm is derived from the compress program (the proper attribution
is included in the source code). The Group 3 fax stuff originated as code
from Jef Poskanzer, but has since been rewritten several times. The latest
version uses an algorithm from Frank Cringle -- consult
-<TT>libtiff/mkg3states.c</TT> and <TT>libtiff/tif_fax3.h</TT> for further
+:file:`libtiff/mkg3states.c` and :file:`libtiff/tif_fax3.h` for further
information. The JPEG support was written by Tom Lane and is dependent on the
excellent work of Tom Lane and the Independent JPEG Group (IJG) who distribute
their work under friendly licensing similar to this software. Joris Van Damme
@@ -45,7 +32,8 @@ module was written by Lee Howard and depends on JBIG library from the Markus
Kuhn. Many other people have by now helped with bug fixes and code; a few of
the more persistent contributors have been:
-<PRE>
+::
+
Bjorn P. Brox
Dan McCoy
J.T. Conklin
@@ -83,13 +71,12 @@ the more persistent contributors have been:
Tavis Ormandy
Richard Nolde
Even Rouault
-</PRE>
(my apology to anyone that was inadvertently not listed.)
-<H2>Use and Copyright</H2>
+Use and Copyright
+-----------------
-<PRE><B>
Copyright (c) 1988-1997 Sam Leffler
Copyright (c) 1991-1997 Silicon Graphics, Inc.
@@ -111,11 +98,3 @@ OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.
-</B></PRE>
-
-<HR>
-
-
-Last updated: $Date: 2016-09-25 20:05:44 $
-</BODY>
-</HTML>
diff --git a/doc/releases.rst b/doc/releases.rst
new file mode 100644
index 00000000..5092fe3b
--- /dev/null
+++ b/doc/releases.rst
@@ -0,0 +1,64 @@
+Release history
+===============
+
+LibTIFF releases.
+
+.. toctree::
+ :maxdepth: 1
+ :titlesonly:
+
+ v4.4.0
+ v4.3.0
+ v4.2.0
+ v4.1.0
+ v4.0.10
+ v4.0.9
+ v4.0.8
+ v4.0.7
+ v4.0.6
+ v4.0.5
+ v4.0.4
+ v4.0.4beta
+ v4.0.3
+ v4.0.2
+ v4.0.1
+ v4.0.0
+ v3.9.5
+ v3.9.4
+ v3.9.3
+ v3.9.2
+ v3.9.1
+ v3.9.0
+ v3.9.0beta
+ v3.8.2
+ v3.8.1
+ v3.8.0
+ v3.7.4
+ v3.7.3
+ v3.7.2
+ v3.7.1
+ v3.7.0
+ v3.7.0beta2
+ v3.7.0beta
+ v3.7.0alpha
+ v3.6.1
+ v3.6.0
+ v3.5.7
+ v3.5.6beta
+ v3.5.5
+ v3.5.4
+ v3.5.3
+ v3.5.2
+ v3.5.1
+ v3.4beta036
+ v3.4beta035
+ v3.4beta034
+ v3.4beta033
+ v3.4beta032
+ v3.4beta031
+ v3.4beta029
+ v3.4beta028
+ v3.4beta024
+ v3.4beta018
+ v3.4beta016
+ v3.4beta007
diff --git a/doc/static/man/TIFFClose.3tiff.html b/doc/static/man/TIFFClose.3tiff.html
new file mode 100644
index 00000000..5dd9a129
--- /dev/null
+++ b/doc/static/man/TIFFClose.3tiff.html
@@ -0,0 +1,87 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:25 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFClose</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFClose</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFClose
+&minus; close a previously opened <small>TIFF</small>
+file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>void
+TIFFClose(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFClose</i></b>
+closes a file that was previously opened with
+<b>TIFFOpen</b>(3TIFF). Any buffered data are flushed to the
+file, including the contents of the current directory (if
+modified); and all resources are reclaimed.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine. Likewise, warning messages are directed to the
+<b>TIFFWarning</b>(3TIFF) routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>libtiff</b>(3TIFF),
+<b>TIFFOpen</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFDataWidth.3tiff.html b/doc/static/man/TIFFDataWidth.3tiff.html
new file mode 100644
index 00000000..09216bc0
--- /dev/null
+++ b/doc/static/man/TIFFDataWidth.3tiff.html
@@ -0,0 +1,96 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:25 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFDataWidth</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFDataWidth</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFDataWidth
+&minus; Get the size of TIFF data types</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFDataWidth(TIFFDataType</b> <i>type</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFDataWidth</i></b>
+returns a size of <i>type</i> in bytes. Currently following
+data types are supported: <i><br>
+TIFF_BYTE <br>
+TIFF_ASCII <br>
+TIFF_SBYTE <br>
+TIFF_UNDEFINED <br>
+TIFF_SHORT <br>
+TIFF_SSHORT <br>
+TIFF_LONG <br>
+TIFF_SLONG <br>
+TIFF_FLOAT <br>
+TIFF_IFD <br>
+TIFF_RATIONAL <br>
+TIFF_SRATIONAL <br>
+TIFF_DOUBLE</i></p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFDataWidth</i>
+returns a number of bytes occupied by the item of given
+type. 0 returned when unknown data type supplied.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>libtiff</b>(3TIFF),</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFError.3tiff.html b/doc/static/man/TIFFError.3tiff.html
new file mode 100644
index 00000000..a2becb75
--- /dev/null
+++ b/doc/static/man/TIFFError.3tiff.html
@@ -0,0 +1,107 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFError</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFError</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFError,
+TIFFSetErrorHandler &minus; library error handling
+interface</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>void
+TIFFError(const char *</b><i>module</i><b>, const char
+*</b><i>fmt</i><b>,</b> <i>...</i><b>)</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;stdarg.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>typedef void
+(*TIFFErrorHandler)(const char *</b><i>module</i><b>, const
+char *</b><i>fmt</i><b>, va_list</b> <i>ap</i><b>); <br>
+TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler
+handler);</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFError</i></b>
+invokes the library-wide error handling function to
+(normally) write an error message to the <b>stderr</b>. The
+<i>fmt</i> parameter is a <i>printf</i>(3S) format string,
+and any number arguments can be supplied. The <i>module</i>
+parameter, if non-zero, is printed before the message; it
+typically is used to identify the software module in which
+an error is detected.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Applications
+that desire to capture control in the event of an error
+should use <i>TIFFSetErrorHandler</i> to override the
+default error handler. A <small>NULL</small> (0) error
+handling function may be installed to suppress error
+messages.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFSetErrorHandler</i>
+returns a reference to the previous error handling
+function.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFWarning</b>(3TIFF),
+<b>libtiff</b>(3TIFF), <b>printf</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/html/man/TIFFFieldDataType.3tiff.html b/doc/static/man/TIFFFieldDataType.3tiff.html
index 2270a5c9..8c1d21d4 100644
--- a/html/man/TIFFFieldDataType.3tiff.html
+++ b/doc/static/man/TIFFFieldDataType.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.21 -->
-<!-- CreationDate: Sun Jul 29 12:12:01 2012 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/html/man/TIFFFieldName.3tiff.html b/doc/static/man/TIFFFieldName.3tiff.html
index df4ee506..ad7f791d 100644
--- a/html/man/TIFFFieldName.3tiff.html
+++ b/doc/static/man/TIFFFieldName.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.21 -->
-<!-- CreationDate: Sun Jul 29 12:12:01 2012 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/html/man/TIFFFieldPassCount.3tiff.html b/doc/static/man/TIFFFieldPassCount.3tiff.html
index 4f6c6ad3..97a10a10 100644
--- a/html/man/TIFFFieldPassCount.3tiff.html
+++ b/doc/static/man/TIFFFieldPassCount.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.21 -->
-<!-- CreationDate: Sun Jul 29 12:12:01 2012 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -69,8 +69,8 @@ field information pointer previously returned by
<p style="margin-left:11%; margin-top: 1em">When a
<i>count</i> is required, it will be of type <b>uint32_t</b>
when <b>TIFFFieldReadCount</b> reports
-<b>TIFF_VARIABLE2</b>, and of type <b>uint16_t</b> otherwise.
-(This distinction is critical for use of
+<b>TIFF_VARIABLE2</b>, and of type <b>uint16_t</b>
+otherwise. (This distinction is critical for use of
<b>TIFFGetField</b>, but normally not so for use of
<b>TIFFSetField</b>.)</p>
diff --git a/html/man/TIFFFieldReadCount.3tiff.html b/doc/static/man/TIFFFieldReadCount.3tiff.html
index 6a0b1359..168511a4 100644
--- a/html/man/TIFFFieldReadCount.3tiff.html
+++ b/doc/static/man/TIFFFieldReadCount.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.21 -->
-<!-- CreationDate: Sun Jul 29 12:12:01 2012 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -63,8 +63,8 @@ should be supplied to <b>TIFFGetField</b>. For most field
types this is a small positive integer, typically 1 or 2,
but there are some special values: <b><br>
TIFF_VARIABLE</b> indicates that a variable number of values
-is possible; then, a <b>uint16_t</b> <i>count</i> argument and
-a pointer <i>data</i> argument must be supplied to
+is possible; then, a <b>uint16_t</b> <i>count</i> argument
+and a pointer <i>data</i> argument must be supplied to
<b>TIFFGetField</b>. <b><br>
TIFF_VARIABLE2</b> is the same as <b>TIFF_VARIABLE</b>
except that the <i>count</i> argument must have type
diff --git a/html/man/TIFFFieldTag.3tiff.html b/doc/static/man/TIFFFieldTag.3tiff.html
index 05a13a71..2b0e8be2 100644
--- a/html/man/TIFFFieldTag.3tiff.html
+++ b/doc/static/man/TIFFFieldTag.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.21 -->
-<!-- CreationDate: Sun Jul 29 12:12:01 2012 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
diff --git a/html/man/TIFFFieldWriteCount.3tiff.html b/doc/static/man/TIFFFieldWriteCount.3tiff.html
index 31f27f51..05c25c53 100644
--- a/html/man/TIFFFieldWriteCount.3tiff.html
+++ b/doc/static/man/TIFFFieldWriteCount.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.21 -->
-<!-- CreationDate: Sun Jul 29 12:12:01 2012 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -63,8 +63,8 @@ should be supplied to <b>TIFFSetField</b>. For most field
types this is a small positive integer, typically 1 or 2,
but there are some special values: <b><br>
TIFF_VARIABLE</b> indicates that a variable number of values
-is possible; then, a <b>uint16_t</b> <i>count</i> argument and
-a pointer <i>data</i> argument must be supplied to
+is possible; then, a <b>uint16_t</b> <i>count</i> argument
+and a pointer <i>data</i> argument must be supplied to
<b>TIFFSetField</b>. <b><br>
TIFF_VARIABLE2</b> is the same as <b>TIFF_VARIABLE</b>
except that the <i>count</i> argument must have type
diff --git a/doc/static/man/TIFFFlush.3tiff.html b/doc/static/man/TIFFFlush.3tiff.html
new file mode 100644
index 00000000..e7c93175
--- /dev/null
+++ b/doc/static/man/TIFFFlush.3tiff.html
@@ -0,0 +1,108 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFFlush</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFFlush</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFFlush,
+TIFFFlushData &minus; flush pending writes to an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFFlush(TIFF *</b><i>tif</i><b>) <br>
+int TIFFFlushData(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFFlush</i></b>
+causes any pending writes for the specified file (including
+writes for the current directory) to be done. In normal
+operation this call is never needed &minus; the library
+automatically does any flushing required.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFFlushData</i>
+flushes any pending image data for the specified file to be
+written out; directory-related data are not flushed. In
+normal operation this call is never needed &minus; the
+library automatically does any flushing required.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">0 is returned
+if an error is encountered, otherwise 1 is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteEncodedStrip</b>(3TIFF),
+<b>TIFFWriteEncodedTile</b>(3TIFF),
+<b>TIFFWriteRawStrip</b>(3TIFF),
+<b>TIFFWriteRawTile</b>(3TIFF),
+<b>TIFFWriteScanline</b>(3TIFF), <b>TIFFWriteTile</b>(3TIFF)
+<b>libtiff</b>(3TIFF),</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/html/man/TIFFGetField.3tiff.html b/doc/static/man/TIFFGetField.3tiff.html
index ac2ca912..b6796d54 100644
--- a/html/man/TIFFGetField.3tiff.html
+++ b/doc/static/man/TIFFGetField.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.20.1 -->
-<!-- CreationDate: Thu May 6 13:48:43 2010 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -160,7 +160,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -252,7 +252,7 @@ values.</p>
<td width="28%">
-<p>uint16_t**</p></td>
+<p>const uint16_t**</p></td>
<td width="12%">
@@ -323,7 +323,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -369,7 +369,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -392,7 +392,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -438,11 +438,9 @@ values.</p>
<td width="28%">
-<p>uint16_t*,uint16_t**</p></td>
+<p>uint16_t*,const uint16_t**count &amp; types array</p></td>
<td width="12%">
-
-
-<p>count &amp; types array</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -605,7 +603,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -628,11 +626,9 @@ values.</p>
<td width="28%">
-<p>uint32_t*,void**</p></td>
+<p>const uint32_t*,const void**count, profile data</p></td>
<td width="12%">
-
-
-<p>count, profile data</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -676,7 +672,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -745,7 +741,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -841,11 +837,9 @@ values.</p>
<td width="28%">
-<p>uint32_t*,void**</p></td>
+<p>uint32_t*,const void**count &amp; tables</p></td>
<td width="12%">
-
-
-<p>count &amp; tables</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -891,7 +885,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -983,7 +977,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1029,7 +1023,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1098,11 +1092,9 @@ values.</p>
<td width="28%">
-<p>uint32_t*,void**</p></td>
+<p>uint32_t*,const void**count, data</p></td>
<td width="12%">
-
-
-<p>count, data</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -1169,7 +1161,7 @@ values.</p>
<td width="28%">
-<p>float**</p></td>
+<p>const float**</p></td>
<td width="12%">
@@ -1194,7 +1186,7 @@ values.</p>
<td width="28%">
-<p>float**</p></td>
+<p>const float**</p></td>
<td width="12%">
@@ -1242,11 +1234,9 @@ values.</p>
<td width="28%">
-<p>uint32_t*,void**</p></td>
+<p>uint32_t*,const void**count, data</p></td>
<td width="12%">
-
-
-<p>count, data</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -1382,7 +1372,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1405,7 +1395,7 @@ values.</p>
<td width="28%">
-<p>double**</p></td>
+<p>const double**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1428,7 +1418,7 @@ values.</p>
<td width="28%">
-<p>uint32_t**</p></td>
+<p>const uint64_t**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1451,7 +1441,7 @@ values.</p>
<td width="28%">
-<p>uint32_t**</p></td>
+<p>const uint64_t**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1497,11 +1487,9 @@ values.</p>
<td width="28%">
-<p>uint16_t*,uint32_t**</p></td>
+<p>uint16_t*,const uint64_t**count &amp; offsets array</p></td>
<td width="12%">
-
-
-<p>count &amp; offsets array</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -1522,7 +1510,7 @@ values.</p>
<td width="28%">
-<p>char**</p></td>
+<p>const char**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1568,7 +1556,7 @@ values.</p>
<td width="28%">
-<p>uint32_t**</p></td>
+<p>const uint64_t**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1637,7 +1625,7 @@ values.</p>
<td width="28%">
-<p>uint32_t**</p></td>
+<p>const uint64_t**</p></td>
<td width="12%">
</td></tr>
<tr valign="top" align="left">
@@ -1677,7 +1665,7 @@ values.</p>
<td width="12%">
-<p>uint16_t**1&lt;&lt;BitsPerSample entry arrays</p></td></tr>
+<p>const uint16_t**1&lt;&lt;BitsPerSample entry arrays</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -1698,7 +1686,7 @@ values.</p>
<td width="28%">
-<p>float**</p></td>
+<p>const float**</p></td>
<td width="12%">
@@ -1723,11 +1711,9 @@ values.</p>
<td width="28%">
-<p>uint32_t*,void**</p></td>
+<p>uint32_t*,const void**count, data</p></td>
<td width="12%">
-
-
-<p>count, data</p></td></tr>
+</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="38%">
@@ -1794,7 +1780,7 @@ values.</p>
<td width="28%">
-<p>float**</p></td>
+<p>const float**</p></td>
<td width="12%">
@@ -1908,28 +1894,26 @@ at http://www.color.org) for an explanation.</p>
<p style="margin-left:11%; margin-top: 1em">If you
can&rsquo;t find the tag in the table above that means this
-is unsupported tag. But you still be able to read it&rsquo;s
-value if you know the data type of that tag. For example, if
-you want to read the LONG value from the tag 33424 and ASCII
-string from the tag 36867 you can use the following
-code:</p>
-
-<p style="margin-left:22%; margin-top: 1em">uint16_t count;
+is an unsupported tag and is not directly supported by
+<b>libtiff(3TIFF)</b> library. You will still be able to
+read it&rsquo;s value if you know the data type of that tag.
+For example, if you want to read the LONG value from the tag
+33424 and ASCII string from the tag 36867 you can use the
+following code:</p>
+
+<p style="margin-left:22%; margin-top: 1em">uint32_t count;
<br>
void *data;</p>
<p style="margin-left:22%; margin-top: 1em">TIFFGetField(tiff,
33424, &amp;count, &amp;data); <br>
-printf(&quot;Tag %d: %d, count %d0, 33424, *(uint32_t *)data,
-count); <br>
+printf(&quot;Tag %d: %d, count %d0, 33424, *(uint32_t
+*)data, count); <br>
TIFFGetField(tiff, 36867, &amp;count, &amp;data); <br>
printf(&quot;Tag %d: %s, count %d0, 36867, (char *)data,
count);</p>
-<p style="margin-left:11%; margin-top: 1em">is not
-supported by <b>libtiff(3TIFF),</b> library</p>
-
<h2>RETURN VALUES
<a name="RETURN VALUES"></a>
</h2>
diff --git a/doc/static/man/TIFFOpen.3tiff.html b/doc/static/man/TIFFOpen.3tiff.html
new file mode 100644
index 00000000..58227ca9
--- /dev/null
+++ b/doc/static/man/TIFFOpen.3tiff.html
@@ -0,0 +1,452 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFOpen</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFOpen</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#BYTE ORDER">BYTE ORDER</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFOpen,
+TIFFFdOpen, TIFFClientOpen &minus; open a
+<small>TIFF</small> file for reading or writing</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF*
+TIFFOpen(const char *</b><i>filename</i><b>, const char
+*</b><i>mode</i><b>) <br>
+TIFF* TIFFFdOpen(const int</b> <i>fd</i><b>, const char
+*</b><i>filename</i><b>, const char
+*</b><i>mode</i><b>)</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>typedef
+tsize_t (*TIFFReadWriteProc)(thandle_t, tdata_t, tsize_t);
+<br>
+typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int); <br>
+typedef int (*TIFFCloseProc)(thandle_t); <br>
+typedef toff_t (*TIFFSizeProc)(thandle_t); <br>
+typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*,
+toff_t*); <br>
+typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t,
+toff_t);</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF*
+TIFFClientOpen(const char *</b><i>filename</i><b>, const
+char *</b><i>mode</i><b>, thandle_t</b>
+<i>clientdata</i><b>, TIFFReadWriteProc</b>
+<i>readproc</i><b>, TIFFReadWriteProc</b>
+<i>writeproc</i><b>, TIFFSeekProc</b> <i>seekproc</i><b>,
+TIFFCloseProc</b> <i>closeproc</i><b>, TIFFSizeProc</b>
+<i>sizeproc</i><b>, TIFFMapFileProc</b> <i>mapproc</i><b>,
+TIFFUnmapFileProc</b> <i>unmapproc</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFOpen</i></b>
+opens a <small>TIFF</small> file whose name is
+<i>filename</i> and returns a handle to be used in
+subsequent calls to routines in <i>libtiff</i>. If the open
+operation fails, then zero is returned. The <i>mode</i>
+parameter specifies if the file is to be opened for reading
+(&lsquo;&lsquo;r&rsquo;&rsquo;), writing
+(&lsquo;&lsquo;w&rsquo;&rsquo;), or appending
+(&lsquo;&lsquo;a&rsquo;&rsquo;) and, optionally, whether to
+override certain default aspects of library operation (see
+below). When a file is opened for appending, existing data
+will not be touched; instead new data will be written as
+additional subfiles. If an existing file is opened for
+writing, all previous data is overwritten.</p>
+
+<p style="margin-left:11%; margin-top: 1em">If a file is
+opened for reading, the first <small>TIFF</small> directory
+in the file is automatically read (also see
+<i>TIFFSetDirectory</i>(3TIFF) for reading directories other
+than the first). If a file is opened for writing or
+appending, a default directory is automatically created for
+writing subsequent data. This directory has all the default
+values specified in <small>TIFF</small> Revision 6.0:
+<i>BitsPerSample</i>=1, <i>ThreshHolding</i>=bilevel art
+scan, <i>FillOrder</i>=1 (most significant bit of each data
+byte is filled first), <i>Orientation</i>=1 (the 0th row
+represents the visual top of the image, and the 0th column
+represents the visual left hand side),
+<i>SamplesPerPixel</i>=1, <i>RowsPerStrip</i>=infinity,
+<i>ResolutionUnit</i>=2 (inches), and <i>Compression</i>=1
+(no compression). To alter these values, or to define values
+for additional fields, <i>TIFFSetField</i>(3TIFF) must be
+used.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFFdOpen</i>
+is like <i>TIFFOpen</i> except that it opens a
+<small>TIFF</small> file given an open file descriptor
+<i>fd</i>. The file&rsquo;s name and mode must reflect that
+of the open descriptor. The object associated with the file
+descriptor <b>must support random access</b>.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFClientOpen</i>
+is like <i>TIFFOpen</i> except that the caller supplies a
+collection of functions that the library will use to do
+<small>UNIX</small> -like I/O operations. The
+<i>readproc</i> and <i>writeproc</i> are called to read and
+write data at the current file position. <i>seekproc</i> is
+called to change the current file position a la
+<i>lseek</i>(2). <i>closeproc</i> is invoked to release any
+resources associated with an open file. <i>sizeproc</i> is
+invoked to obtain the size in bytes of a file.
+<i>mapproc</i> and <i>unmapproc</i> are called to map and
+unmap a file&rsquo;s contents in memory; c.f. <i>mmap</i>(2)
+and <i>munmap</i>(2). The <i>clientdata</i> parameter is an
+opaque &lsquo;&lsquo;handle&rsquo;&rsquo; passed to the
+client-specified routines passed as parameters to
+<i>TIFFClientOpen</i>.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The open mode
+parameter can include the following flags in addition to the
+&lsquo;&lsquo;r&rsquo;&rsquo;,
+&lsquo;&lsquo;w&rsquo;&rsquo;, and
+&lsquo;&lsquo;a&rsquo;&rsquo; flags. Note however that
+option flags must follow the read-write-append
+specification.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>l</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>When creating a new file force information be written
+with Little-Endian byte order (but see below). By default
+the library will create new files using the native
+<small>CPU</small> byte order.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>b</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>When creating a new file force information be written
+with Big-Endian byte order (but see below). By default the
+library will create new files using the native
+<small>CPU</small> byte order.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>L</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Force image data that is read or written to be treated
+with bits filled from Least Significant Bit (
+<small>LSB</small> ) to Most Significant Bit (
+<small>MSB</small> ). Note that this is the opposite to the
+way the library has worked from its inception.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>B</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Force image data that is read or written to be treated
+with bits filled from Most Significant Bit (
+<small>MSB</small> ) to Least Significant Bit (
+<small>LSB</small> ); this is the default.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>H</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Force image data that is read or written to be treated
+with bits filled in the same order as the native
+<small>CPU.</small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>M</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Enable the use of memory-mapped files for images opened
+read-only. If the underlying system does not support
+memory-mapped files or if the specific image being opened
+cannot be memory-mapped then the library will fallback to
+using the normal system interface for reading information.
+By default the library will attempt to use memory-mapped
+files.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>m</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Disable the use of memory-mapped files.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>C</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Enable the use of &lsquo;&lsquo;strip
+chopping&rsquo;&rsquo; when reading images that are
+comprised of a single strip or tile of uncompressed data.
+Strip chopping is a mechanism by which the library will
+automatically convert the single-strip image to multiple
+strips, each of which has about 8 Kilobytes of data. This
+facility can be useful in reducing the amount of memory used
+to read an image because the library normally reads each
+strip in its entirety. Strip chopping does however alter the
+apparent contents of the image because when an image is
+divided into multiple strips it looks as though the
+underlying file contains multiple separate strips. Finally,
+note that default handling of strip chopping is a
+compile-time configuration parameter. The default behaviour,
+for backwards compatibility, is to enable strip
+chopping.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>c</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Disable the use of strip chopping when reading
+images.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>h</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Read TIFF header only, do not load the first image
+directory. That could be useful in case of the broken first
+directory. We can open the file and proceed to the other
+directories.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>4</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>ClassicTIFF for creating a file (default)</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>8</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>BigTIFF for creating a file.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>D</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Enable use of deferred strip/tile offset/bytecount array
+loading. They will be loaded the first time they are
+accessed to. This loading will be done in its entirety
+unless the O flag is also specified.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>O</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>On-demand loading of values of the strip/tile
+offset/bytecount arrays, limited to the requested
+strip/tile, instead of whole array loading (implies D)</p></td></tr>
+</table>
+
+<h2>BYTE ORDER
+<a name="BYTE ORDER"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The
+<small>TIFF</small> specification (<b>all versions</b>)
+states that compliant readers <i>must be capable of reading
+images written in either byte order</i>. Nonetheless some
+software that claims to support the reading of
+<small>TIFF</small> images is incapable of reading images in
+anything but the native <small>CPU</small> byte order on
+which the software was written. (Especially notorious are
+applications written to run on Intel-based machines.) By
+default the library will create new files with the native
+byte-order of the <small>CPU</small> on which the
+application is run. This ensures optimal performance and is
+portable to any application that conforms to the TIFF
+specification. To force the library to use a specific
+byte-order when creating a new file the
+&lsquo;&lsquo;b&rsquo;&rsquo; and
+&lsquo;&lsquo;l&rsquo;&rsquo; option flags may be included
+in the call to open a file; for example,
+&lsquo;&lsquo;wb&rsquo;&rsquo; or
+&lsquo;&lsquo;wl&rsquo;&rsquo;.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Upon successful
+completion <i>TIFFOpen</i>, <i>TIFFFdOpen</i>, and
+<i>TIFFClientOpen</i> return a <small>TIFF</small> pointer.
+Otherwise, NULL is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine. Likewise, warning messages are directed to the
+<i>TIFFWarning</i>(3TIFF) routine.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>&quot;%s&quot;:
+Bad mode</b>. The specified <i>mode</i> parameter was not
+one of &lsquo;&lsquo;r&rsquo;&rsquo; (read),
+&lsquo;&lsquo;w&rsquo;&rsquo; (write), or
+&lsquo;&lsquo;a&rsquo;&rsquo; (append).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Cannot
+open</b>. <i>TIFFOpen</i>() was unable to open the specified
+filename for read/writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Cannot read
+TIFF header</b>. An error occurred while attempting to read
+the header information.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+writing TIFF header</b>. An error occurred while writing the
+default header information for a new file.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Not a TIFF
+file, bad magic number %d (0x%x)</b>. The magic number in
+the header was not (hex) 0x4d4d or (hex) 0x4949.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Not a TIFF
+file, bad version number %d (0x%x)</b>. The version field in
+the header was not 42 (decimal).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Cannot
+append to file that has opposite byte ordering</b>. A file
+with a byte ordering opposite to the native byte ordering of
+the current machine was opened for appending
+(&lsquo;&lsquo;a&rsquo;&rsquo;). This is a limitation of the
+library.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>libtiff</i>(3TIFF),
+<i>TIFFClose</i>(3TIFF)</p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFPrintDirectory.3tiff.html b/doc/static/man/TIFFPrintDirectory.3tiff.html
new file mode 100644
index 00000000..06fd8980
--- /dev/null
+++ b/doc/static/man/TIFFPrintDirectory.3tiff.html
@@ -0,0 +1,233 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFPrintDirectory</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFPrintDirectory</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFPrintDirectory
+&minus; print a description of a <small>TIFF</small>
+directory</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>void
+TIFFPrintDirectory(TIFF *</b><i>tif</i><b>, FILE
+*</b><i>fd</i><b>, long</b> <i>flags</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFPrintDirectory</i></b>
+prints a description of the current directory in the
+specified <small>TIFF</small> file to the standard I/O
+output stream <i>fd</i>. The <i>flags</i> parameter is used
+to control the <i>level of detail</i> of the printed
+information; it is a bit-or of the flags defined in
+<b>tiffio.h</b>:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_NONE</p></td>
+<td width="13%">
+
+
+<p>0x0</p></td>
+<td width="38%">
+
+
+<p>/* no extra info */</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_STRIPS</p></td>
+<td width="13%">
+
+
+<p>0x1</p></td>
+<td width="38%">
+
+
+<p>/* strips/tiles info */</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_CURVES</p></td>
+<td width="13%">
+
+
+<p>0x2</p></td>
+<td width="38%">
+
+
+<p>/* color/gray response curves */</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_COLORMAP</p></td>
+<td width="13%">
+
+
+<p>0x4</p></td>
+<td width="38%">
+
+
+<p>/* colormap */</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_JPEGQTABLES</p></td>
+<td width="13%">
+
+
+<p>0x100</p></td>
+<td width="38%">
+
+
+<p>/* JPEG Q matrices */</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_JPEGACTABLES</p></td>
+<td width="13%">
+
+
+<p>0x200</p></td>
+<td width="38%">
+
+
+<p>/* JPEG AC tables */</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p>#define</p></td>
+<td width="37%">
+
+
+<p>TIFFPRINT_JPEGDCTABLES</p></td>
+<td width="13%">
+
+
+<p>0x200</p></td>
+<td width="38%">
+
+
+<p>/* JPEG DC tables */</p></td></tr>
+</table>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">In C++ the
+<i>flags</i> parameter defaults to 0.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>libtiff</i>(3TIFF),
+<i>TIFFOpen</i>(3TIFF), <i>TIFFReadDirectory</i>(3TIFF),
+<i>TIFFSetDirectory</i>(3TIFF)</p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFRGBAImage.3tiff.html b/doc/static/man/TIFFRGBAImage.3tiff.html
new file mode 100644
index 00000000..90bb5dc3
--- /dev/null
+++ b/doc/static/man/TIFFRGBAImage.3tiff.html
@@ -0,0 +1,319 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFRGBAImage</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFRGBAImage</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#ALTERNATE RASTER FORMATS">ALTERNATE RASTER FORMATS</a><br>
+<a href="#SIMULTANEOUS RASTER STORE AND DISPLAY">SIMULTANEOUS RASTER STORE AND DISPLAY</a><br>
+<a href="#SUPPORTING ADDITIONAL TIFF FORMATS">SUPPORTING ADDITIONAL TIFF FORMATS</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFRGBAImageOK,
+TIFFRGBAImageBegin, TIFFRGBAImageGet, TIFFRGBAImageEnd
+&minus; read and decode an image into a raster</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>typedef
+unsigned char TIFFRGBValue; typedef struct _TIFFRGBAImage
+TIFFRGBAImage;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFRGBAImageOK(TIFF *</b><i>tif</i><b>, char</b>
+<i>emsg[1024]</i><b>) <br>
+int TIFFRGBAImageBegin(TIFFRGBAImage *</b><i>img</i><b>,
+TIFF*</b> <i>tif</i><b>, int</b> <i>stopOnError</i><b>,
+char</b> <i>emsg[1024]</i><b>) <br>
+int TIFFRGBAImageGet(TIFFRGBAImage *</b><i>img</i><b>,
+uint32_t*</b> <i>raster</i><b>, uint32_t</b> <i>width</i>
+<b>, uint32_t</b> <i>height</i><b>) <br>
+void TIFFRGBAImageEnd(TIFFRGBAImage
+*</b><i>img</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The routines
+described here provide a high-level interface through which
+<small>TIFF</small> images may be read into memory. Images
+may be strip- or tile-based and have a variety of different
+characteristics: bits/sample, samples/pixel, photometric,
+etc. Decoding state is encapsulated in a
+<i>TIFFRGBAImage</i> structure making it possible to capture
+state for multiple images and quickly switch between them.
+The target raster format can be customized to a particular
+application&rsquo;s needs by installing custom routines that
+manipulate image data according to application
+requirements.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The default
+usage for these routines is: check if an image can be
+processed using <i>TIFFRGBAImageOK</i>, construct a decoder
+state block using <i>TIFFRGBAImageBegin</i>, read and decode
+an image into a target raster using <i>TIFFRGBAImageGet</i>,
+and then release resources using <i>TIFFRGBAImageEnd</i>.
+<i>TIFFRGBAImageGet</i> can be called multiple times to
+decode an image using different state parameters. If
+multiple images are to be displayed and there is not enough
+space for each of the decoded rasters, multiple state blocks
+can be managed and then calls can be made to
+<i>TIFFRGBAImageGet</i> as needed to display an image.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The generated
+raster is assumed to be an array of <i>width</i> times
+<i>height</i> 32-bit entries, where <i>width</i> must be
+less than or equal to the width of the image (<i>height</i>
+may be any non-zero size). If the raster dimensions are
+smaller than the image, the image data is cropped to the
+raster bounds. If the raster height is greater than that of
+the image, then the image data are placed in the lower part
+of the raster. (Note that the raster is assume to be
+organized such that the pixel at location
+(<i>x</i>,<i>y</i>) is
+<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
+raster origin in the <b>lower-left</b> hand corner.)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Raster pixels
+are 8-bit packed red, green, blue, alpha samples. The macros
+<i>TIFFGetR</i>, <i>TIFFGetG</i>, <i>TIFFGetB</i>, and
+<i>TIFFGetA</i> should be used to access individual samples.
+Images without Associated Alpha matting information have a
+constant Alpha of 1.0 (255).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFRGBAImageGet</i>
+converts non-8-bit images by scaling sample values. Palette,
+grayscale, bilevel, <small>CMYK, and YCbCr images are
+converted to RGB</small> transparently. Raster pixels are
+returned uncorrected by any colorimetry information present
+in the directory.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The parameter
+<i>stopOnError</i> specifies how to act if an error is
+encountered while reading the image. If <i>stopOnError</i>
+is non-zero, then an error will terminate the operation;
+otherwise <i>TIFFRGBAImageGet</i> will continue processing
+data until all the possible data in the image have been
+requested.</p>
+
+<h2>ALTERNATE RASTER FORMATS
+<a name="ALTERNATE RASTER FORMATS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">To use the core
+support for reading and processing <small>TIFF</small>
+images, but write the resulting raster data in a different
+format one need only override the &lsquo;&lsquo;<i>put
+methods</i>&rsquo;&rsquo; used to store raster data. These
+methods are are defined in the <i>TIFFRGBAImage</i>
+structure and initially setup by <i>TIFFRGBAImageBegin</i>
+to point to routines that pack raster data in the default
+<small>ABGR</small> pixel format. Two different routines are
+used according to the physical organization of the image
+data in the file: <i>PlanarConfiguration</i>=1 (packed
+samples), and <i>PlanarConfiguration</i>=2 (separated
+samples). Note that this mechanism can be used to transform
+the data before storing it in the raster. For example one
+can convert data to colormap indices for display on a
+colormap display.</p>
+
+<h2>SIMULTANEOUS RASTER STORE AND DISPLAY
+<a name="SIMULTANEOUS RASTER STORE AND DISPLAY"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">It is simple to
+display an image as it is being read into memory by
+overriding the put methods as described above for supporting
+alternate raster formats. Simply keep a reference to the
+default put methods setup by <i>TIFFRGBAImageBegin</i> and
+then invoke them before or after each display operation. For
+example, the <i>tiffgt</i>(1) utility uses the following put
+method to update the display as the raster is being
+filled:</p>
+
+<pre style="margin-left:11%; margin-top: 1em">static void
+putContigAndDraw(TIFFRGBAImage* img, uint32_t* raster,
+ uint32_t x, uint32_t y, uint32_t w, uint32_t h,
+ int32_t fromskew, int32_t toskew,
+ unsigned char* cp)
+{
+ (*putContig)(img, raster, x, y, w, h, fromskew, toskew, cp);
+ if (x+w == width) {
+ w = width;
+ if (img-&gt;orientation == ORIENTATION_TOPLEFT)
+ lrectwrite(0, y-(h-1), w-1, y, raster-x-(h-1)*w);
+ else
+ lrectwrite(0, y, w-1, y+h-1, raster);
+ }
+}</pre>
+
+
+<p style="margin-left:11%; margin-top: 1em">(the original
+routine provided by the library is saved in the variable
+<i>putContig</i>.)</p>
+
+<h2>SUPPORTING ADDITIONAL TIFF FORMATS
+<a name="SUPPORTING ADDITIONAL TIFF FORMATS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The
+<i>TIFFRGBAImage</i> routines support the most commonly
+encountered flavors of <small>TIFF.</small> It is possible
+to extend this support by overriding the
+&lsquo;&lsquo;<i>get method</i>&rsquo;&rsquo; invoked by
+<i>TIFFRGBAImageGet</i> to read <small>TIFF</small> image
+data. Details of doing this are a bit involved, it is best
+to make a copy of an existing get method and modify it to
+suit the needs of an application.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Samples must be
+either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel
+must be either 1, 3, or 4 (i.e. <i>SamplesPerPixel</i> minus
+<i>ExtraSamples</i>).</p>
+
+<p style="margin-left:11%; margin-top: 1em">Palette image
+colormaps that appear to be incorrectly written as 8-bit
+values are automatically scaled to 16-bits.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All routines
+return 1 if the operation was successful. Otherwise, 0 is
+returned if an error was encountered and <i>stopOnError</i>
+is zero.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-bit pictures</b>. The image had
+<i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-channel images</b>. The image had
+<i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+needed &quot;PhotometricInterpretation&quot; tag</b>. The
+image did not have a tag that describes how to display the
+data.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming RGB</b>.
+The image was missing a tag that describes how to display
+it, but because it has 3 or 4 samples/pixel, it is assumed
+to be <small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming
+min-is-black</b>. The image was missing a tag that describes
+how to display it, but because it has 1 sample/pixel, it is
+assumed to be a grayscale or bilevel image.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+photometric conversion table</b>. There was insufficient
+memory for a table used to convert image samples to 8-bit
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+required &quot;Colormap&quot; tag</b>. A Palette image did
+not have a required <i>Colormap</i> tag.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+tile buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+strip buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+handle format</b>. The image has a format (combination of
+<i>BitsPerSample</i>, <i>SamplesPerPixel</i>, and
+<i>PhotometricInterpretation</i>) that can not be
+handled.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+B&amp;W mapping table</b>. There was insufficient memory to
+allocate a table used to map grayscale data to
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+Palette mapping table</b>. There was insufficient memory to
+allocate a table used to map data to 8-bit
+<small>RGB.</small></p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadRGBAImage</b>(3TIFF),
+<b>TIFFReadRGBAImageOriented</b>(3TIFF),
+<b>TIFFReadRGBAStrip</b>(3TIFF),
+<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadDirectory.3tiff.html b/doc/static/man/TIFFReadDirectory.3tiff.html
new file mode 100644
index 00000000..4daf3bfa
--- /dev/null
+++ b/doc/static/man/TIFFReadDirectory.3tiff.html
@@ -0,0 +1,217 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadDirectory</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadDirectory</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadDirectory
+&minus; get the contents of the next directory in an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadDirectory(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Read the next
+directory in the specified file and make it the current
+directory. Applications only need to call
+<i>TIFFReadDirectory</i> to read multiple subfiles in a
+single <small>TIFF</small> file&mdash; the first directory
+in a file is automatically read when <i>TIFFOpen</i> is
+called.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">If the library
+is compiled with <small>STRIPCHOP_SUPPORT</small> enabled,
+then images that have a single uncompressed strip or tile of
+data are automatically treated as if they were made up of
+multiple strips or tiles of approximately 8 kilobytes each.
+This operation is done only in-memory; it does not alter the
+contents of the file. However, the construction of the
+&lsquo;&lsquo;chopped strips&rsquo;&rsquo; is visible to the
+application through the number of strips [tiles] returned by
+<i>TIFFNumberOfStrips</i> [<i>TIFFNumberOfTiles</i>].</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">If the next
+directory was successfully read, 1 is returned. Otherwise, 0
+is returned if an error was encountered, or if there are no
+more directories to be read.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine. All warning messages are directed to the
+<i>TIFFWarning</i>(3TIFF) routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Seek error
+accessing TIFF directory</b>. An error occurred while
+positioning to the location of the directory.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Wrong data
+type %d for field &quot;%s&quot;</b>. The tag entry in the
+directory had an incorrect data type. For example, an
+<i>ImageDescription</i> tag with a <small>SHORT</small> data
+type.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;%s&quot; field</b>. The
+specified tag is required to be present by the
+<small>TIFF</small> 5.0 specification, but is missing. The
+directory is (usually) unusable.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Rational
+with zero denominator</b>. A directory tag has a
+<small>RATIONAL</small> value whose denominator is zero.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Incorrect
+count %d for field &quot;%s&quot; (%lu, expecting %lu); tag
+ignored</b>. The specified tag&rsquo;s count field is bad.
+For example, a count other than 1 for a <i>SubFileType</i>
+tag.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Cannot
+handle different per-sample values for field
+&quot;%s&quot;</b>. The tag has <i>SamplesPerPixel</i>
+values and they are not all the same; e.g.
+<i>BitsPerSample</i>. The library is unable to handle images
+of this sort.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Count
+mismatch for field &quot;%s&quot;; expecting %d, got %d</b>.
+The count field in a tag does not agree with the number
+expected by the library. This should never happen, so if it
+does, the library refuses to read the directory.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Invalid TIFF
+directory; tags are not sorted in ascending order</b>. The
+directory tags are not properly sorted as specified in the
+<small>TIFF</small> 5.0 specification. This error is not
+fatal.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Ignoring
+unknown field with tag %d (0x%x)</b>. An unknown tag was
+encountered in the directory; the library ignores all such
+tags.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;ImageLength&quot;
+field</b>. The image violates the specification by not
+having a necessary field. There is no way for the library to
+recover from this error.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;PlanarConfig&quot;
+field</b>. The image violates the specification by not
+having a necessary field. There is no way for the library to
+recover from this error.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;StripOffsets&quot;
+field</b>. The image has multiple strips, but is missing the
+tag that specifies the file offset to each strip of data.
+There is no way for the library to recover from this
+error.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;TileOffsets&quot;
+field</b>. The image has multiple tiles, but is missing the
+tag that specifies the file offset to each tile of data.
+There is no way for the library to recover from this
+error.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;StripByteCounts&quot;
+field</b>. The image has multiple strips, but is missing the
+tag that specifies the size of each strip of data. There is
+no way for the library to recover from this error.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFF
+directory is missing required &quot;StripByteCounts&quot;
+field, calculating from imagelength</b>. The image violates
+the specification by not having a necessary field. However,
+when the image is comprised of only one strip or tile, the
+library will estimate the missing value based on the file
+size.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Bogus
+&quot;StripByteCounts&quot; field, ignoring and calculating
+from imagelength</b>. Certain vendors violate the
+specification by writing zero for the StripByteCounts tag
+when they want to leave the value unspecified. If the image
+has a single strip, the library will estimate the missing
+value based on the file size.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteDirectory</b>(3TIFF),
+<b>TIFFSetDirectory</b>(3TIFF),
+<b>TIFFSetSubDirectory</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadEncodedStrip.3tiff.html b/doc/static/man/TIFFReadEncodedStrip.3tiff.html
new file mode 100644
index 00000000..71b8e2ac
--- /dev/null
+++ b/doc/static/man/TIFFReadEncodedStrip.3tiff.html
@@ -0,0 +1,125 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadEncodedStrip</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadEncodedStrip</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadEncodedStrip
+&minus; read and decode a strip of data from an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tmsize_t
+TIFFReadEncodedStrip(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>strip</i><b>, void *</b><i>buf</i><b>, tmsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Read the
+specified strip of data and place up to <i>size</i> bytes of
+decompressed information in the (user supplied) data
+buffer.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The value of
+<i>strip</i> is a &lsquo;&lsquo;raw strip
+number.&rsquo;&rsquo; That is, the caller must take into
+account whether or not the data are organized in separate
+planes (<i>PlanarConfiguration</i>=2). To read a full strip
+of data the data buffer should typically be at least as
+large as the number returned by <b>TIFFStripSize</b>(3TIFF).
+If the -1 passed in <i>size</i> parameter, the whole strip
+will be read. You should be sure you have enough space
+allocated for the buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The library
+attempts to hide bit- and byte-ordering differences between
+the image and the native machine by converting data to the
+native machine order. Bit reversal is done if the
+<i>FillOrder</i> tag is opposite to the native machine bit
+order. 16- and 32-bit samples are automatically byte-swapped
+if the file was written with a byte order opposite to the
+native machine byte order,</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The actual
+number of bytes of data that were placed in <i>buf</i> is
+returned; <i>TIFFReadEncodedStrip</i> returns &minus;1 if an
+error was encountered.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadRawStrip</b>(3TIFF),
+<b>TIFFReadScanline</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadEncodedTile.3tiff.html b/doc/static/man/TIFFReadEncodedTile.3tiff.html
new file mode 100644
index 00000000..45084027
--- /dev/null
+++ b/doc/static/man/TIFFReadEncodedTile.3tiff.html
@@ -0,0 +1,125 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadEncodedTile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadEncodedTile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadEncodedTile
+&minus; read and decode a tile of data from an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadEncodedTile(TIFF *</b><i>tif</i><b>, ttile_t</b>
+<i>tile</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Read the
+specified tile of data and place up to <i>size</i> bytes of
+decompressed information in the (user supplied) data
+buffer.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The value of
+<i>tile</i> is a &lsquo;&lsquo;raw tile
+number.&rsquo;&rsquo; That is, the caller must take into
+account whether or not the data are organized in separate
+planes (<i>PlanarConfiguration</i>=2).
+<i>TIFFComputeTile</i> automatically does this when
+converting an (x,y,z,sample) coordinate quadruple to a tile
+number. To read a full tile of data the data buffer should
+be at least as large as the value returned by
+<i>TIFFTileSize</i>.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The library
+attempts to hide bit- and byte-ordering differences between
+the image and the native machine by converting data to the
+native machine order. Bit reversal is done if the
+<i>FillOrder</i> tag is opposite to the native machine bit
+order. 16- and 32-bit samples are automatically byte-swapped
+if the file was written with a byte order opposite to the
+native machine byte order,</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The actual
+number of bytes of data that were placed in <i>buf</i> is
+returned; <i>TIFFReadEncodedTile</i> returns &minus;1 if an
+error was encountered.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadRawTile</b>(3TIFF), <b>TIFFReadTile</b>(3TIFF),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadRGBAImage.3tiff.html b/doc/static/man/TIFFReadRGBAImage.3tiff.html
new file mode 100644
index 00000000..0292f319
--- /dev/null
+++ b/doc/static/man/TIFFReadRGBAImage.3tiff.html
@@ -0,0 +1,258 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadRGBAImage</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadRGBAImage</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadRGBAImage,
+TIFFReadRGBAImageOriented &minus; read and decode an image
+into a fixed-format raster</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>#define
+TIFFGetR(abgr) ((abgr) &amp; 0xff) <br>
+#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff) <br>
+#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)
+<br>
+#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp;
+0xff)</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadRGBAImage(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>width</i><b>, uint32_t</b> <i>height</i><b>, uint32_t
+*</b><i>raster</i><b>, int</b> <i>stopOnError</i><b>) <br>
+int TIFFReadRGBAImageOriented(TIFF *</b><i>tif</i><b>,
+uint32_t</b> <i>width</i><b>, uint32_t</b> <i>height</i><b>,
+uint32_t *</b><i>raster</i><b>, int</b>
+<i>orientation</i><b>, int</b>
+<i>stopOnError</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFReadRGBAImage</i></b>
+reads a strip- or tile-based image into memory, storing the
+result in the user supplied <i>raster</i>. The raster is
+assumed to be an array of <i>width</i> times <i>height</i>
+32-bit entries, where <i>width</i> must be less than or
+equal to the width of the image (<i>height</i> may be any
+non-zero size). If the raster dimensions are smaller than
+the image, the image data is cropped to the raster bounds.
+If the raster height is greater than that of the image, then
+the image data are placed in the lower part of the raster.
+(Note that the raster is assume to be organized such that
+the pixel at location (<i>x</i>,<i>y</i>) is
+<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
+raster origin in the lower-left hand corner.)</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadRGBAImageOriented</i>
+works like <i>TIFFReadRGBAImage</i> with except of that user
+can specify the raster origin position with the
+<i>orientation</i> parameter. Four orientations supported:
+<b><br>
+ORIENTATION_TOPLEFT</b></p>
+
+<p style="margin-left:22%;">origin in top-left corner,</p>
+
+
+<p style="margin-left:11%;"><b>ORIENTATION_TOPRIGHT</b></p>
+
+<p style="margin-left:22%;">origin in top-right corner,</p>
+
+<p style="margin-left:11%;"><b>ORIENTATION_BOTLEFT</b></p>
+
+<p style="margin-left:22%;">origin in bottom-left corner
+and</p>
+
+
+<p style="margin-left:11%;"><b>ORIENTATION_BOTRIGHT</b></p>
+
+<p style="margin-left:22%;">origin in bottom-right
+corner.</p>
+
+<p style="margin-left:11%; margin-top: 1em">If you choose
+<b>ORIENTATION_BOTLEFT</b> result will be the same as
+returned by the <i>TIFFReadRGBAImage.</i></p>
+
+<p style="margin-left:11%; margin-top: 1em">Raster pixels
+are 8-bit packed red, green, blue, alpha samples. The macros
+<i>TIFFGetR</i>, <i>TIFFGetG</i>, <i>TIFFGetB</i>, and
+<i>TIFFGetA</i> should be used to access individual samples.
+Images without Associated Alpha matting information have a
+constant Alpha of 1.0 (255).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadRGBAImage</i>
+converts non-8-bit images by scaling sample values. Palette,
+grayscale, bilevel, <small>CMYK, and YCbCr images are
+converted to RGB</small> transparently. Raster pixels are
+returned uncorrected by any colorimetry information present
+in the directory.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The parameter
+<i>stopOnError</i> specifies how to act if an error is
+encountered while reading the image. If <i>stopOnError</i>
+is non-zero, then an error will terminate the operation;
+otherwise <i>TIFFReadRGBAImage</i> will continue processing
+data until all the possible data in the image have been
+requested.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">In C++ the
+<i>stopOnError</i> parameter defaults to 0.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Samples must be
+either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel
+must be either 1, 3, or 4 (i.e. <i>SamplesPerPixel</i> minus
+<i>ExtraSamples</i>).</p>
+
+<p style="margin-left:11%; margin-top: 1em">Palettte image
+colormaps that appear to be incorrectly written as 8-bit
+values are automatically scaled to 16-bits.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadRGBAImage</i>
+is just a wrapper around the more general
+<i>TIFFRGBAImage</i>(3TIFF) facilities.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">1 is returned
+if the image was successfully read and converted. Otherwise,
+0 is returned if an error was encountered and
+<i>stopOnError</i> is zero.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-bit pictures</b>. The image had
+<i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-channel images</b>. The image had
+<i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+needed &quot;PhotometricInterpretation&quot; tag</b>. The
+image did not have a tag that describes how to display the
+data.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming RGB</b>.
+The image was missing a tag that describes how to display
+it, but because it has 3 or 4 samples/pixel, it is assumed
+to be <small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming
+min-is-black</b>. The image was missing a tag that describes
+how to display it, but because it has 1 sample/pixel, it is
+assumed to be a grayscale or bilevel image.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+photometric conversion table</b>. There was insufficient
+memory for a table used to convert image samples to 8-bit
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+required &quot;Colormap&quot; tag</b>. A Palette image did
+not have a required <i>Colormap</i> tag.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+tile buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+strip buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+handle format</b>. The image has a format (combination of
+<i>BitsPerSample</i>, <i>SamplesPerPixel</i>, and
+<i>PhotometricInterpretation</i>) that
+<i>TIFFReadRGBAImage</i> can not handle.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+B&amp;W mapping table</b>. There was insufficient memory to
+allocate a table used to map grayscale data to
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+Palette mapping table</b>. There was insufficient memory to
+allocate a table used to map data to 8-bit
+<small>RGB.</small></p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFRGBAImage</b>(3TIFF),
+<b>TIFFReadRGBAStrip</b>(3TIFF),
+<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadRGBAStrip.3tiff.html b/doc/static/man/TIFFReadRGBAStrip.3tiff.html
new file mode 100644
index 00000000..d1c497c0
--- /dev/null
+++ b/doc/static/man/TIFFReadRGBAStrip.3tiff.html
@@ -0,0 +1,217 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadRGBAStrip</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadRGBAStrip</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadRGBAStrip
+&minus; read and decode an image strip into a fixed-format
+raster</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>#define
+TIFFGetR(abgr) ((abgr) &amp; 0xff) <br>
+#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff) <br>
+#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)
+<br>
+#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp;
+0xff)</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadRGBAStrip(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>row</i><b>, uint32_t *</b><i>raster</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFReadRGBAStrip</i></b>
+reads a single strip of a strip-based image into memory,
+storing the result in the user supplied RGBA <i>raster</i>.
+The raster is assumed to be an array of width times
+rowsperstrip 32-bit entries, where width is the width of the
+image (TIFFTAG_IMAGEWIDTH) and rowsperstrip is the maximum
+lines in a strip (TIFFTAG_ROWSPERSTRIP).</p>
+
+<p style="margin-left:11%; margin-top: 1em">The <i>row</i>
+value should be the row of the first row in the strip (strip
+* rowsperstrip, zero based).</p>
+
+<p style="margin-left:11%; margin-top: 1em">Note that the
+raster is assume to be organized such that the pixel at
+location (<i>x</i>,<i>y</i>) is
+<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
+raster origin in the <i>lower-left hand corner</i> of the
+strip. That is bottom to top organization. When reading a
+partial last strip in the file the last line of the image
+will begin at the beginning of the buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Raster pixels
+are 8-bit packed red, green, blue, alpha samples. The macros
+<i>TIFFGetR</i>, <i>TIFFGetG</i>, <i>TIFFGetB</i>, and
+<i>TIFFGetA</i> should be used to access individual samples.
+Images without Associated Alpha matting information have a
+constant Alpha of 1.0 (255).</p>
+
+<p style="margin-left:11%; margin-top: 1em">See the
+<i>TIFFRGBAImage</i>(3TIFF) page for more details on how
+various image types are converted to RGBA values.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Samples must be
+either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel
+must be either 1, 3, or 4 (i.e. <i>SamplesPerPixel</i> minus
+<i>ExtraSamples</i>).</p>
+
+<p style="margin-left:11%; margin-top: 1em">Palette image
+colormaps that appear to be incorrectly written as 8-bit
+values are automatically scaled to 16-bits.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadRGBAStrip</i>
+is just a wrapper around the more general
+<i>TIFFRGBAImage</i>(3TIFF) facilities. It&rsquo;s main
+advantage over the similar <i>TIFFReadRGBAImage()</i>
+function is that for large images a single buffer capable of
+holding the whole image doesn&rsquo;t need to be allocated,
+only enough for one strip. The <i>TIFFReadRGBATile()</i>
+function does a similar operation for tiled images.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">1 is returned
+if the image was successfully read and converted. Otherwise,
+0 is returned if an error was encountered.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-bit pictures</b>. The image had
+<i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-channel images</b>. The image had
+<i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+needed &quot;PhotometricInterpretation&quot; tag</b>. The
+image did not have a tag that describes how to display the
+data.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming RGB</b>.
+The image was missing a tag that describes how to display
+it, but because it has 3 or 4 samples/pixel, it is assumed
+to be <small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming
+min-is-black</b>. The image was missing a tag that describes
+how to display it, but because it has 1 sample/pixel, it is
+assumed to be a grayscale or bilevel image.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+photometric conversion table</b>. There was insufficient
+memory for a table used to convert image samples to 8-bit
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+required &quot;Colormap&quot; tag</b>. A Palette image did
+not have a required <i>Colormap</i> tag.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+tile buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+strip buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+handle format</b>. The image has a format (combination of
+<i>BitsPerSample</i>, <i>SamplesPerPixel</i>, and
+<i>PhotometricInterpretation</i>) that
+<i>TIFFReadRGBAImage</i> can not handle.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+B&amp;W mapping table</b>. There was insufficient memory to
+allocate a table used to map grayscale data to
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+Palette mapping table</b>. There was insufficient memory to
+allocate a table used to map data to 8-bit
+<small>RGB.</small></p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFRGBAImage</b>(3TIFF),
+<b>TIFFReadRGBAImage</b>(3TIFF),
+<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadRGBATile.3tiff.html b/doc/static/man/TIFFReadRGBATile.3tiff.html
new file mode 100644
index 00000000..b5b7f43a
--- /dev/null
+++ b/doc/static/man/TIFFReadRGBATile.3tiff.html
@@ -0,0 +1,263 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadRGBATile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadRGBATile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadRGBATile
+&minus; read and decode an image tile into a fixed-format
+raster</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="-3%">
+
+
+<p><b>#define TIFFGetR(abgr)</b></p></td>
+<td width="30%"></td>
+<td width="8%"></td>
+<td width="54%">
+
+
+<p><b>((abgr) &amp; 0xff)</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="-3%">
+
+
+<p><b>#define TIFFGetG(abgr)</b></p></td>
+<td width="30%"></td>
+<td width="8%"></td>
+<td width="54%">
+
+
+<p><b>(((abgr) &gt;&gt; 8) &amp; 0xff)</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="-3%">
+
+
+<p><b>#define TIFFGetB(abgr)</b></p></td>
+<td width="30%"></td>
+<td width="8%"></td>
+<td width="54%">
+
+
+<p><b>(((abgr) &gt;&gt; 16) &amp; 0xff)</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="-3%">
+
+
+<p><b>#define TIFFGetA(abgr)</b></p></td>
+<td width="30%"></td>
+<td width="8%"></td>
+<td width="54%">
+
+
+<p><b>(((abgr) &gt;&gt; 24) &amp; 0xff)</b></p></td></tr>
+</table>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadRGBATile(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>x</i><b>, uint32_t</b> <i>y</i><b>, uint32_t
+*</b><i>raster</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFReadRGBATile</i></b>
+reads a single tile of a tile-based image into memory,
+storing the result in the user supplied RGBA <i>raster</i>.
+The raster is assumed to be an array of width times length
+32-bit entries, where width is the width of a tile
+(TIFFTAG_TILEWIDTH) and length is the height of a tile
+(TIFFTAG_TILELENGTH).</p>
+
+<p style="margin-left:11%; margin-top: 1em">The <i>x</i>
+and <i>y</i> values are the offsets from the top left corner
+to the top left corner of the tile to be read. They must be
+an exact multiple of the tile width and length.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Note that the
+raster is assume to be organized such that the pixel at
+location (<i>x</i>,<i>y</i>) is
+<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
+raster origin in the <i>lower-left hand corner</i> of the
+tile. That is bottom to top organization. Edge tiles which
+partly fall off the image will be filled out with
+appropriate zeroed areas.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Raster pixels
+are 8-bit packed red, green, blue, alpha samples. The macros
+<i>TIFFGetR</i>, <i>TIFFGetG</i>, <i>TIFFGetB</i>, and
+<i>TIFFGetA</i> should be used to access individual samples.
+Images without Associated Alpha matting information have a
+constant Alpha of 1.0 (255).</p>
+
+<p style="margin-left:11%; margin-top: 1em">See the
+<i>TIFFRGBAImage</i>(3TIFF) page for more details on how
+various image types are converted to RGBA values.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Samples must be
+either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel
+must be either 1, 3, or 4 (i.e. <i>SamplesPerPixel</i> minus
+<i>ExtraSamples</i>).</p>
+
+<p style="margin-left:11%; margin-top: 1em">Palette image
+colormaps that appear to be incorrectly written as 8-bit
+values are automatically scaled to 16-bits.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadRGBATile</i>
+is just a wrapper around the more general
+<i>TIFFRGBAImage</i>(3TIFF) facilities. It&rsquo;s main
+advantage over the similar <i>TIFFReadRGBAImage()</i>
+function is that for large images a single buffer capable of
+holding the whole image doesn&rsquo;t need to be allocated,
+only enough for one tile. The <i>TIFFReadRGBAStrip()</i>
+function does a similar operation for stripped images.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">1 is returned
+if the image was successfully read and converted. Otherwise,
+0 is returned if an error was encountered.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-bit pictures</b>. The image had
+<i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Sorry, can
+not handle %d-channel images</b>. The image had
+<i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+needed &quot;PhotometricInterpretation&quot; tag</b>. The
+image did not have a tag that describes how to display the
+data.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming RGB</b>.
+The image was missing a tag that describes how to display
+it, but because it has 3 or 4 samples/pixel, it is assumed
+to be <small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No
+&quot;PhotometricInterpretation&quot; tag, assuming
+min-is-black</b>. The image was missing a tag that describes
+how to display it, but because it has 1 sample/pixel, it is
+assumed to be a grayscale or bilevel image.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+photometric conversion table</b>. There was insufficient
+memory for a table used to convert image samples to 8-bit
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Missing
+required &quot;Colormap&quot; tag</b>. A Palette image did
+not have a required <i>Colormap</i> tag.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+tile buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+strip buffer</b>. There was insufficient memory to allocate
+an i/o buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+handle format</b>. The image has a format (combination of
+<i>BitsPerSample</i>, <i>SamplesPerPixel</i>, and
+<i>PhotometricInterpretation</i>) that
+<i>TIFFReadRGBAImage</i> can not handle.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+B&amp;W mapping table</b>. There was insufficient memory to
+allocate a table used to map grayscale data to
+<small>RGB.</small></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space for
+Palette mapping table</b>. There was insufficient memory to
+allocate a table used to map data to 8-bit
+<small>RGB.</small></p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFRGBAImage</b>(3TIFF),
+<b>TIFFReadRGBAImage</b>(3TIFF),
+<b>TIFFReadRGBAStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadRawStrip.3tiff.html b/doc/static/man/TIFFReadRawStrip.3tiff.html
new file mode 100644
index 00000000..1c814ee6
--- /dev/null
+++ b/doc/static/man/TIFFReadRawStrip.3tiff.html
@@ -0,0 +1,105 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadRawStrip</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadRawStrip</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadRawStrip
+&minus; return the undecoded contents of a strip of data
+from an open <small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFReadRawStrip(TIFF *</b><i>tif</i><b>, tstrip_t</b>
+<i>strip</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Read the
+contents of the specified strip into the (user supplied)
+data buffer. Note that the value of <i>strip</i> is a
+&lsquo;&lsquo;raw strip number.&rsquo;&rsquo; That is, the
+caller must take into account whether or not the data is
+organized in separate planes (<i>PlanarConfiguration</i>=2).
+To read a full strip of data the data buffer should
+typically be at least as large as the number returned by
+<i>TIFFStripSize</i>.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The actual
+number of bytes of data that were placed in <i>buf</i> is
+returned; <i>TIFFReadRawStrip</i> returns &minus;1 if an
+error was encountered.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadEncodedStrip</b>(3TIFF),
+<b>TIFFReadScanline</b>(3TIFF), <b>TIFFStripSize</b>(3TIFF),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadRawTile.3tiff.html b/doc/static/man/TIFFReadRawTile.3tiff.html
new file mode 100644
index 00000000..92aa3482
--- /dev/null
+++ b/doc/static/man/TIFFReadRawTile.3tiff.html
@@ -0,0 +1,107 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadRawTile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadRawTile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadRawTile
+&minus; return an undecoded tile of data from an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFReadRawTile(TIFF *</b><i>tif</i><b>, ttile_t</b>
+<i>tile</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Read the
+contents of the specified tile into the (user supplied) data
+buffer. Note that the value of <i>tile</i> is a
+&lsquo;&lsquo;raw tile number.&rsquo;&rsquo; That is, the
+caller must take into account whether or not the data is
+organized in separate planes (<i>PlanarConfiguration</i>=2).
+<i>TIFFComputeTile</i> automatically does this when
+converting an (x,y,z,sample) coordinate quadruple to a tile
+number. To read a full tile of data the data buffer should
+typically be at least as large as the value returned by
+<i>TIFFTileSize</i>.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The actual
+number of bytes of data that were placed in <i>buf</i> is
+returned; <i>TIFFReadEncodedTile</i> returns &minus;1 if an
+error was encountered.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadEncodedTile</b>(3TIFF),
+<b>TIFFReadTile</b>(3TIFF), <b>TIFFTileSize</b>(3TIFF),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadScanline.3tiff.html b/doc/static/man/TIFFReadScanline.3tiff.html
new file mode 100644
index 00000000..e84a6f45
--- /dev/null
+++ b/doc/static/man/TIFFReadScanline.3tiff.html
@@ -0,0 +1,149 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadScanline</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadScanline</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadScanline
+&minus; read and decode a scanline of data from an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadScanline(TIFF *</b><i>tif</i><b>, tdata_t</b>
+<i>buf</i><b>, uint32_t</b> <i>row</i><b>, tsample_t</b>
+<i>sample</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Read the data
+for the specified row into the (user supplied) data buffer
+<i>buf</i>. The data are returned decompressed and, in the
+native byte- and bit-ordering, but are otherwise packed (see
+further below). The buffer must be large enough to hold an
+entire scanline of data. Applications should call the
+routine <i>TIFFScanlineSize</i> to find out the size (in
+bytes) of a scanline buffer. The <i>row</i> parameter is
+always used by <i>TIFFReadScanline</i>; the <i>sample</i>
+parameter is used only if data are organized in separate
+planes (<i>PlanarConfiguration</i>=2).</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+attempts to hide bit- and byte-ordering differences between
+the image and the native machine by converting data to the
+native machine order. Bit reversal is done if the
+<i>FillOrder</i> tag is opposite to the native machine bit
+order. 16- and 32-bit samples are automatically byte-swapped
+if the file was written with a byte order opposite to the
+native machine byte order,</p>
+
+<p style="margin-left:11%; margin-top: 1em">In C++ the
+<i>sample</i> parameter defaults to 0.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadScanline</i>
+returns &minus;1 if it detects an error; otherwise 1 is
+returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Compression
+algorithm does not support random access</b>. Data was
+requested in a non-sequential order from a file that uses a
+compression algorithm and that has <i>RowsPerStrip</i>
+greater than one. That is, data in the image is stored in a
+compressed form, and with multiple rows packed into a strip.
+In this case, the library does not support random access to
+the data. The data should either be accessed sequentially,
+or the file should be converted so that each strip is made
+up of one row of data.</p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Reading
+subsampled YCbCR data does not work correctly because, for
+<i>PlanarConfiguration</i>=2 the size of a scanline is not
+calculated on a per-sample basis, and for
+<i>PlanarConfiguration</i>=1 the library does not unpack the
+block-interleaved samples; use the strip- and tile-based
+interfaces to read these formats.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadEncodedStrip</b>(3TIFF),
+<b>TIFFReadRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFReadTile.3tiff.html b/doc/static/man/TIFFReadTile.3tiff.html
new file mode 100644
index 00000000..e38cb295
--- /dev/null
+++ b/doc/static/man/TIFFReadTile.3tiff.html
@@ -0,0 +1,124 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFReadTile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFReadTile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadTile
+&minus; read and decode a tile of data from an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFReadTile(TIFF *</b><i>tif</i><b>, tdata_t</b>
+<i>buf</i><b>, uint32_t</b> <i>x</i><b>, uint32_t</b>
+<i>y</i><b>, uint32_t</b> <i>z</i><b>, tsample_t</b>
+<i>sample</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Return the data
+for the tile <i>containing</i> the specified coordinates.
+The data placed in <i>buf</i> are returned decompressed and,
+typically, in the native byte- and bit-ordering, but are
+otherwise packed (see further below). The buffer must be
+large enough to hold an entire tile of data. Applications
+should call the routine <i>TIFFTileSize</i> to find out the
+size (in bytes) of a tile buffer. The <i>x</i> and <i>y</i>
+parameters are always used by <i>TIFFReadTile</i>. The
+<i>z</i> parameter is used if the image is deeper than 1
+slice (<i>ImageDepth</i>&gt;1). The <i>sample</i> parameter
+is used only if data are organized in separate planes
+(<i>PlanarConfiguration</i>=2).</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+attempts to hide bit- and byte-ordering differences between
+the image and the native machine by converting data to the
+native machine order. Bit reversal is done if the
+<i>FillOrder</i> tag is opposite to the native machine bit
+order. 16- and 32-bit samples are automatically byte-swapped
+if the file was written with a byte order opposite to the
+native machine byte order,</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadTile</i>
+returns &minus;1 if it detects an error; otherwise the
+number of bytes in the decoded tile is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFCheckTile</b>(3TIFF),
+<b>TIFFComputeTile</b>(3TIFF), <b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadEncodedTile</b>(3TIFF),
+<b>TIFFReadRawTile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFSetDirectory.3tiff.html b/doc/static/man/TIFFSetDirectory.3tiff.html
new file mode 100644
index 00000000..d0dacac3
--- /dev/null
+++ b/doc/static/man/TIFFSetDirectory.3tiff.html
@@ -0,0 +1,120 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFSetDirectory</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFSetDirectory</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFSetDirectory,
+TIFFSetSubDirectory &minus; set the current directory for an
+open <small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFSetDirectory(TIFF *</b><i>tif</i><b>, tdir_t</b>
+<i>dirnum</i><b>) <br>
+int TIFFSetSubDirectory(TIFF *</b><i>tif</i><b>,
+uint64_t</b> <i>diroff</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFSetDirectory</i></b>
+changes the current directory and reads its contents with
+<i>TIFFReadDirectory</i>. The parameter <i>dirnum</i>
+specifies the subfile/directory as an integer number, with
+the first directory numbered zero.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFSetSubDirectory</i>
+acts like <i>TIFFSetDirectory</i>, except the directory is
+specified as a file offset instead of an index; this is
+required for accessing subdirectories linked through a
+<i>SubIFD</i> tag.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">On successful
+return 1 is returned. Otherwise, 0 is returned if
+<i>dirnum</i> or <i>diroff</i> specifies a non-existent
+directory, or if an error was encountered while reading the
+directory&rsquo;s contents.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Error
+fetching directory count</b>. An error was encountered while
+reading the &lsquo;&lsquo;directory count&rsquo;&rsquo;
+field.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Error
+fetching directory link</b>. An error was encountered while
+reading the &lsquo;&lsquo;link value&rsquo;&rsquo; that
+points to the next directory in a file.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFCurrentDirectory</i>(3TIFF),
+<i>TIFFOpen</i>(3TIFF), <i>TIFFReadDirectory</i>(3TIFF),
+<i>TIFFWriteDirectory</i>(3TIFF), <i>libtiff</i>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/html/man/TIFFSetField.3tiff.html b/doc/static/man/TIFFSetField.3tiff.html
index be4de304..b7f05f9e 100644
--- a/html/man/TIFFSetField.3tiff.html
+++ b/doc/static/man/TIFFSetField.3tiff.html
@@ -1,5 +1,5 @@
-<!-- Creator : groff version 1.20.1 -->
-<!-- CreationDate: Thu May 6 13:48:46 2010 -->
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -93,11 +93,11 @@ understood by <i>libtiff</i>, the number of parameter
values, and the expected types for the parameter values are
shown below. The data types are: <i>char*</i> is
null-terminated string and corresponds to the
-<small>ASCII</small> data type; <i>uint16_t</i> is an unsigned
-16-bit value; <i>uint32_t</i> is an unsigned 32-bit value;
-<i>uint16_t*</i> is an array of unsigned 16-bit values.
-<i>void*</i> is an array of data values of unspecified
-type.</p>
+<small>ASCII</small> data type; <i>uint16_t</i> is an
+unsigned 16-bit value; <i>uint32_t</i> is an unsigned 32-bit
+value; <i>uint16_t*</i> is an array of unsigned 16-bit
+values. <i>void*</i> is an array of data values of
+unspecified type.</p>
<p style="margin-left:11%; margin-top: 1em">Consult the
<small>TIFF</small> specification for information on the
@@ -1448,7 +1448,7 @@ meaning of each tag.</p>
<td width="29%">
-<p>uint16_t,uint32_t*</p></td>
+<p>uint16_t,uint64_t*</p></td>
<td width="11%">
diff --git a/doc/static/man/TIFFWarning.3tiff.html b/doc/static/man/TIFFWarning.3tiff.html
new file mode 100644
index 00000000..04e7eae4
--- /dev/null
+++ b/doc/static/man/TIFFWarning.3tiff.html
@@ -0,0 +1,111 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWarning</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWarning</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWarning,
+TIFFSetWarningHandler &minus; library warning interface</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>void
+TIFFWarning(const char *</b><i>module</i><b>, const char
+*</b><i>fmt</i><b>,</b> <i>...</i><b>)</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;stdarg.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>typedef void
+(*TIFFWarningHandler)(const char *</b><i>module</i><b>,
+const char *</b><i>fmt</i><b>, va_list</b>
+<i>ap</i><b>);</b></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFWarningHandler
+TIFFSetWarningHandler(TIFFWarningHandler</b>
+<i>handler</i><b>);</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFWarning</i></b>
+invokes the library-wide warning handler function to
+(normally) write a warning message to the <b>stderr</b>. The
+<i>fmt</i> parameter is a <i>printf</i>(3S) format string,
+and any number arguments can be supplied. The <i>module</i>
+parameter is interpreted as a string that, if non-zero,
+should be printed before the message; it typically is used
+to identify the software module in which a warning is
+detected.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Applications
+that desire to capture control in the event of a warning
+should use <i>TIFFSetWarningHandler</i> to override the
+default warning handler. A <small>NULL</small> (0) warning
+handler function may be installed to suppress error
+messages.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFSetWarningHandler</i>
+returns a reference to the previous error handling
+function.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFError</b>(3TIFF),
+<b>libtiff</b>(3TIFF), <b>printf</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteDirectory.3tiff.html b/doc/static/man/TIFFWriteDirectory.3tiff.html
new file mode 100644
index 00000000..0cec618b
--- /dev/null
+++ b/doc/static/man/TIFFWriteDirectory.3tiff.html
@@ -0,0 +1,184 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteDirectory</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteDirectory</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWriteDirectory,
+TIFFRewriteDirectory, TIFFCheckpointDirectory &minus; write
+the current directory in an open <small>TIFF</small>
+file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFWriteDirectory(TIFF *</b><i>tif</i><b>) <br>
+int TIFFRewriteDirectory(TIFF *</b><i>tif</i><b>) <br>
+int TIFFCheckpointDirectory(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFWriteDirectory</i></b>
+will write the contents of the current directory to the file
+and setup to create a new subfile in the same file.
+Applications only need to call <i>TIFFWriteDirectory</i>
+when writing multiple subfiles to a single
+<small>TIFF</small> file. <i>TIFFWriteDirectory</i> is
+automatically called by <i>TIFFClose</i> and
+<i>TIFFFlush</i> to write a modified directory if the file
+is open for writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The
+<i>TIFFRewriteDirectory</i> function operates similarly to
+<i>TIFFWriteDirectory,</i> but can be called with
+directories previously read or written that already have an
+established location in the file. It will rewrite the
+directory, but instead of place it at it&rsquo;s old
+location (as <i>TIFFWriteDirectory</i> would) it will place
+them at the end of the file, correcting the pointer from the
+preceding directory or file header to point to it&rsquo;s
+new location. This is particularly important in cases where
+the size of the directory and pointed to data has grown, so
+it won&rsquo;t fit in the space available at the old
+location.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The
+<i>TIFFCheckpointDirectory</i> writes the current state of
+the tiff directory into the file to make what is currently
+in the file readable. Unlike <i>TIFFWriteDirectory,
+TIFFCheckpointDirectory</i> does not free up the directory
+data structures in memory, so they can be updated (as
+strips/tiles are written) and written again. Reading such a
+partial file you will at worst get a tiff read error for the
+first strip/tile encountered that is incomplete, but you
+will at least get all the valid data in the file before
+that. When the file is complete, just use
+<i>TIFFWriteDirectory</i> as usual to finish it off
+cleanly.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">1 is returned
+when the contents are successfully written to the file.
+Otherwise, 0 is returned if an error was encountered when
+writing the directory contents.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+post-encoding before directory write</b>. Before writing the
+contents of the current directory, any pending data are
+flushed. This message indicates that an error occurred while
+doing this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+flushing data before directory write</b>. Before writing the
+contents of the current directory, any pending data are
+flushed. This message indicates that an error occurred while
+doing this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Cannot write
+directory, out of space</b>. There was not enough space to
+allocate a temporary area for the directory that was to be
+written.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+writing directory count</b>. A write error occurred when
+writing the count of fields in the directory.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+writing directory contents</b>. A write error occurred when
+writing the directory fields.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+writing directory link</b>. A write error occurred when
+writing the link to the next directory.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+writing data for field &quot;%s&quot;</b>. A write error
+occurred when writing indirect data for the specified
+field.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+writing TIFF header</b>. A write error occurred when
+re-writing header at the front of the file.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+fetching directory count</b>. A read error occurred when
+fetching the directory count field for a previous directory.
+This can occur when setting up a link to the directory that
+is being written.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Error
+fetching directory link</b>. A read error occurred when
+fetching the directory link field for a previous directory.
+This can occur when setting up a link to the directory that
+is being written.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFError</b>(3TIFF), <b>TIFFReadDirectory</b>(3TIFF),
+<b>TIFFSetDirectory</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteEncodedStrip.3tiff.html b/doc/static/man/TIFFWriteEncodedStrip.3tiff.html
new file mode 100644
index 00000000..12dc8e93
--- /dev/null
+++ b/doc/static/man/TIFFWriteEncodedStrip.3tiff.html
@@ -0,0 +1,147 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteEncodedStrip</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteEncodedStrip</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWritedEncodedStrip
+&minus; compress and write a strip of data to an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFWriteEncodedStrip(TIFF *</b><i>tif</i><b>, tstrip_t</b>
+<i>strip</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Compress
+<i>size</i> bytes of raw data from <i>buf</i> and write the
+result to the specified strip; replacing any previously
+written data. Note that the value of <i>strip</i> is a
+&lsquo;&lsquo;raw strip number.&rsquo;&rsquo; That is, the
+caller must take into account whether or not the data are
+organized in separate planes
+(<i>PlanarConfiguration</i>=2).</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+writes encoded data using the native machine byte order.
+Correctly implemented <small>TIFF</small> readers are
+expected to do any necessary byte-swapping to correctly
+process image data with BitsPerSample greater than 8.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The strip
+number must be valid according to the current settings of
+the <i>ImageLength</i> and <i>RowsPerStrip</i> tags. An
+image may be dynamically grown by increasing the value of
+<i>ImageLength</i> prior to each call to
+<i>TIFFWriteEncodedStrip</i>.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">&minus;1 is
+returned if an error was encountered. Otherwise, the value
+of <i>size</i> is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: File not
+open for writing</b>. The file was opened for reading, not
+writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+write scanlines to a tiled image</b>. The image is assumed
+to be organized in tiles because the <i>TileWidth</i> and
+<i>TileLength</i> tags have been set with
+<i>TIFFSetField</i>(3TIFF).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;ImageWidth&quot; before writing data</b>. The
+image&rsquo;s width has not be set before the first write.
+See <i>TIFFSetField</i>(3TIFF) for information on how to do
+this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;PlanarConfiguration&quot; before writing data</b>. The
+organization of data has not be defined before the first
+write. See <i>TIFFSetField</i>(3TIFF) for information on how
+to do this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for strip arrays&quot;</b>. There was not enough space for
+the arrays that hold strip offsets and byte counts.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteScanline</b>(3TIFF),
+<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteEncodedTile.3tiff.html b/doc/static/man/TIFFWriteEncodedTile.3tiff.html
new file mode 100644
index 00000000..5e4ef717
--- /dev/null
+++ b/doc/static/man/TIFFWriteEncodedTile.3tiff.html
@@ -0,0 +1,142 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteEncodedTile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteEncodedTile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWritedEncodedTile
+&minus; compress and write a tile of data to an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFWriteEncodedTile(TIFF *</b><i>tif</i><b>, ttile_t</b>
+<i>tile</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Compress
+<i>size</i> bytes of raw data from <i>buf</i> and
+<b>append</b> the result to the end of the specified tile.
+Note that the value of <i>tile</i> is a &lsquo;&lsquo;raw
+tile number.&rsquo;&rsquo; That is, the caller must take
+into account whether or not the data are organized in
+separate places (<i>PlanarConfiguration</i>=2).
+<i>TIFFComputeTile</i> automatically does this when
+converting an (x,y,z,sample) coordinate quadruple to a tile
+number.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+writes encoded data using the native machine byte order.
+Correctly implemented <small>TIFF</small> readers are
+expected to do any necessary byte-swapping to correctly
+process image data with BitsPerSample greater than 8.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">&minus;1 is
+returned if an error was encountered. Otherwise, the value
+of <i>size</i> is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: File not
+open for writing</b>. The file was opened for reading, not
+writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+write tiles to a stripped image</b>. The image is assumed to
+be organized in strips because neither of the
+<i>TileWidth</i> or <i>TileLength</i> tags have been set
+with <b>TIFFSetField</b>(3TIFF).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;ImageWidth&quot; before writing data</b>. The
+image&rsquo;s width has not be set before the first write.
+See <b>TIFFSetField</b>(3TIFF) for information on how to do
+this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;PlanarConfiguration&quot; before writing data</b>. The
+organization of data has not be defined before the first
+write. See <b>TIFFSetField</b>(3TIFF) for information on how
+to do this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for tile arrays&quot;</b>. There was not enough space for
+the arrays that hold tile offsets and byte counts.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteTile</b>(3TIFF), <b>TIFFWriteRawTile</b>(3TIFF),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteRawStrip.3tiff.html b/doc/static/man/TIFFWriteRawStrip.3tiff.html
new file mode 100644
index 00000000..32a6b01f
--- /dev/null
+++ b/doc/static/man/TIFFWriteRawStrip.3tiff.html
@@ -0,0 +1,140 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteRawstrip</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteRawstrip</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWriteRawStrip
+&minus; write a strip of raw data to an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFWriteRawStrip(TIFF *</b><i>tif</i><b>, tstrip_t</b>
+<i>strip</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Append
+<i>size</i> bytes of raw data to the specified strip.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The strip
+number must be valid according to the current settings of
+the <i>ImageLength</i> and <i>RowsPerStrip</i> tags. An
+image may be dynamically grown by increasing the value of
+<i>ImageLength</i> prior to each call to
+<i>TIFFWriteRawStrip</i>.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">&minus;1 is
+returned if an error occurred. Otherwise, the value of
+<i>size</i> is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: File not
+open for writing</b>. The file was opened for reading, not
+writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+write scanlines to a tiled image</b>. The image is assumed
+to be organized in tiles because the <i>TileWidth</i> and
+<i>TileLength</i> tags have been set with
+<b>TIFFSetField</b>(3TIFF).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;ImageWidth&quot; before writing data</b>. The
+image&rsquo;s width has not be set before the first write.
+See <b>TIFFSetField</b>(3TIFF) for information on how to do
+this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;PlanarConfiguration&quot; before writing data</b>. The
+organization of data has not be defined before the first
+write. See <b>TIFFSetField</b>(3TIFF) for information on how
+to do this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for strip arrays&quot;</b>. There was not enough space for
+the arrays that hold strip offsets and byte counts.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Strip %d
+out of range, max %d</b>. The specified strip is not a valid
+strip according to the currently specified image
+dimensions.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteEncodedStrip</b>(3TIFF),
+<b>TIFFWriteScanline</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteRawTile.3tiff.html b/doc/static/man/TIFFWriteRawTile.3tiff.html
new file mode 100644
index 00000000..6debfa15
--- /dev/null
+++ b/doc/static/man/TIFFWriteRawTile.3tiff.html
@@ -0,0 +1,127 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteRawtile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteRawtile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWriteRawTile
+&minus; write a tile of raw data to an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFWriteRawTile(TIFF *</b><i>tif</i><b>, ttile_t</b>
+<i>tile</i><b>, tdata_t</b> <i>buf</i><b>, tsize_t</b>
+<i>size</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Append
+<i>size</i> bytes of raw data to the specified tile.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">&minus;1 is
+returned if an error occurred. Otherwise, the value of
+<i>size</i> is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: File not
+open for writing</b>. The file was opened for reading, not
+writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+write tiles to a stripped image</b>. The image is assumed to
+be organized in strips because neither of the
+<i>TileWidth</i> or <i>TileLength</i> tags have been set
+with <b>TIFFSetField</b>(3TIFF).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;ImageWidth&quot; before writing data</b>. The
+image&rsquo;s width has not be set before the first write.
+See <b>TIFFSetField</b>(3TIFF) for information on how to do
+this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;PlanarConfiguration&quot; before writing data</b>. The
+organization of data has not be defined before the first
+write. See <b>TIFFSetField</b>(3TIFF) for information on how
+to do this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for tile arrays&quot;</b>. There was not enough space for
+the arrays that hold tile offsets and byte counts.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s:
+Specified tile %d out of range, max %d</b>. The specified
+tile is not valid according to the currently specified image
+dimensions.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteEncodedTile</b>(3TIFF),
+<b>TIFFWriteScanline</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteScanline.3tiff.html b/doc/static/man/TIFFWriteScanline.3tiff.html
new file mode 100644
index 00000000..5249039f
--- /dev/null
+++ b/doc/static/man/TIFFWriteScanline.3tiff.html
@@ -0,0 +1,203 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteScanline</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteScanline</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWriteScanline
+&minus; write a scanline to an open <small>TIFF</small>
+file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFWriteScanline(TIFF *</b><i>tif</i><b>, tdata_t</b>
+<i>buf</i><b>, uint32_t</b> <i>row</i><b>, tsample_t</b>
+<i>sample</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Write data to a
+file at the specified row. The <i>sample</i> parameter is
+used only if data are organized in separate planes
+(<i>PlanarConfiguration</i>=2). The data are assumed to be
+uncompressed and in the native bit- and byte-order of the
+host machine. The data written to the file is compressed
+according to the compression scheme of the current
+<small>TIFF</small> directory (see further below). If the
+current scanline is past the end of the current subfile, the
+<i>ImageLength</i> field is automatically increased to
+include the scanline (except for
+<i>PlanarConfiguration</i>=2, where the <i>ImageLength</i>
+cannot be changed once the first data are written). If the
+<i>ImageLength</i> is increased, the <i>StripOffsets</i> and
+<i>StripByteCounts</i> fields are similarly enlarged to
+reflect data written past the previous end of image.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+writes encoded data using the native machine byte order.
+Correctly implemented <small>TIFF</small> readers are
+expected to do any necessary byte-swapping to correctly
+process image data with BitsPerSample greater than 8. The
+library attempts to hide bit-ordering differences between
+the image and the native machine by converting data from the
+native machine order.</p>
+
+<p style="margin-left:11%; margin-top: 1em">In C++ the
+<i>sample</i> parameter defaults to 0.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Once data are
+written to a file for the current directory, the values of
+certain tags may not be altered; see
+<i>TIFFSetField</i>(3TIFF) for more information.</p>
+
+<p style="margin-left:11%; margin-top: 1em">It is not
+possible to write scanlines to a file that uses a tiled
+organization. The routine <i>TIFFIsTiled</i> can be used to
+determine if the file is organized as tiles or strips.</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFWriteScanline</i>
+returns &minus;1 if it immediately detects an error and 1
+for a successful write.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <i>TIFFError</i>(3TIFF)
+routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: File not
+open for writing .</b> The file was opened for reading, not
+writing.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+write scanlines to a tiled image</b>. An attempt was made to
+write a scanline to a tiled image. The image is assumed to
+be organized in tiles because the <i>TileWidth</i> and
+<i>TileLength</i> tags have been set with
+<i>TIFFSetField</i>(3TIFF).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Compression
+algorithm does not support random access</b>. Data was
+written in a non-sequential order to a file that uses a
+compression algorithm and that has <i>RowsPerStrip</i>
+greater than one. That is, data in the image is to be stored
+in a compressed form, and with multiple rows packed into a
+strip. In this case, the library does not support random
+access to the data. The data should either be written as
+entire strips, sequentially by rows, or the value of
+<i>RowsPerStrip</i> should be set to one.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;ImageWidth&quot; before writing data</b>. The
+image&rsquo;s width has not be set before the first write.
+See <b>TIFFSetField</b>(3TIFF) for information on how to do
+this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: Must set
+&quot;PlanarConfiguration&quot; before writing data</b>. The
+organization of data has not be defined before the first
+write. See <b>TIFFSetField</b>(3TIFF) for information on how
+to do this.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Can not
+change &quot;ImageLength&quot; when using separate
+planes</b>. Separate image planes are being used
+(<i>PlanarConfiguration</i>=2), but the number of rows has
+not been specified before the first write. The library
+supports the dynamic growth of an image only when data are
+organized in a contiguous manner
+(<i>PlanarConfiguration</i>=1).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%d: Sample
+out of range, max %d</b>. The <i>sample</i> parameter was
+greater than the value of the SamplesPerPixel tag.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for strip arrays .</b> There was not enough space for the
+arrays that hold strip offsets and byte counts.</p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Writing
+subsampled YCbCR data does not work correctly because, for
+<i>PlanarConfiguration</i>=2 the size of a scanline is not
+calculated on a per-sample basis, and for
+<i>PlanarConfiguration</i>=1 the library does not pack the
+block-interleaved samples.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFWriteEncodedStrip</b>(3TIFF),
+<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFWriteTile.3tiff.html b/doc/static/man/TIFFWriteTile.3tiff.html
new file mode 100644
index 00000000..9b1ef6eb
--- /dev/null
+++ b/doc/static/man/TIFFWriteTile.3tiff.html
@@ -0,0 +1,110 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFWriteTile</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFWriteTile</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#RETURN VALUES">RETURN VALUES</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFWriteTile
+&minus; encode and write a tile of data to an open
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFWriteTile(TIFF *</b><i>tif</i><b>, tdata_t</b>
+<i>buf</i><b>, uint32_t</b> <i>x</i><b>, uint32_t</b>
+<i>y</i><b>, uint32_t</b> <i>z</i><b>, tsample_t</b>
+<i>sample</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Write the data
+for the tile <i>containing</i> the specified coordinates.
+The data in <i>buf</i> are is (potentially) compressed, and
+written to the indicated file, normally being appended to
+the end of the file. The buffer must be contain an entire
+tile of data. Applications should call the routine
+<i>TIFFTileSize</i> to find out the size (in bytes) of a
+tile buffer. The <i>x</i> and <i>y</i> parameters are always
+used by <i>TIFFWriteTile</i>. The <i>z</i> parameter is used
+if the image is deeper than 1 slice
+(<i>ImageDepth</i>&gt;1). The <i>sample</i> parameter is
+used only if data are organized in separate planes
+(<i>PlanarConfiguration</i>=2).</p>
+
+<h2>RETURN VALUES
+<a name="RETURN VALUES"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFWriteTile</i>
+returns &minus;1 if it detects an error; otherwise the
+number of bytes in the tile is returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed to the <b>TIFFError</b>(3TIFF)
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFCheckTile</b>(3TIFF),
+<b>TIFFComputeTile</b>(3TIFF), <b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadTile</b>(3TIFF), <b>TIFFWriteScanline</b>(3TIFF),
+<b>TIFFWriteEncodedTile</b>(3TIFF),
+<b>TIFFWriteRawTile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFbuffer.3tiff.html b/doc/static/man/TIFFbuffer.3tiff.html
new file mode 100644
index 00000000..557044e8
--- /dev/null
+++ b/doc/static/man/TIFFbuffer.3tiff.html
@@ -0,0 +1,118 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:25 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFBUFFER</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFBUFFER</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFReadBufferSetup,
+TIFFWriteBufferSetup &minus; I/O buffering control
+routines</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFReadBufferSetup(TIFF *</b><i>tif</i><b>, tdata_t</b>
+<i>buffer</i><b>, tsize_t</b> <i>size</i><b>); <br>
+int TIFFWriteBufferSetup(TIFF *</b><i>tif</i><b>,
+tdata_t</b> <i>buffer</i><b>, tsize_t</b>
+<i>size</i><b>);</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+routines are provided for client-control of the I/O buffers
+used by the library. Applications need never use these
+routines; they are provided only for
+&lsquo;&lsquo;intelligent clients&rsquo;&rsquo; that wish to
+optimize memory usage and/or eliminate potential copy
+operations that can occur when working with images that have
+data stored without compression.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReadBufferSetup</i>
+sets up the data buffer used to read raw (encoded) data from
+a file. If the specified pointer is <small>NULL</small>
+(zero), then a buffer of the appropriate size is allocated.
+Otherwise the caller must guarantee that the buffer is large
+enough to hold any individual strip of raw data.
+<i>TIFFReadBufferSetup</i> returns a non-zero value if the
+setup was successful and zero otherwise.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFWriteBufferSetup</i>
+sets up the data buffer used to write raw (encoded) data to
+a file. If the specified <i>size</i> is &minus;1 then the
+buffer size is selected to hold a complete tile or strip, or
+at least 8 kilobytes, whichever is greater. If the specified
+<i>buffer</i> is <small>NULL</small> (zero), then a buffer
+of the appropriate size is dynamically allocated.
+<i>TIFFWriteBufferSetup</i> returns a non-zero value if the
+setup was successful and zero otherwise.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for data buffer at scanline %ld</b>.
+<i>TIFFReadBufferSetup</i> was unable to dynamically
+allocate space for a data buffer.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>%s: No space
+for output buffer</b>. <i>TIFFWriteBufferSetup</i> was
+unable to dynamically allocate space for a data buffer.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFcodec.3tiff.html b/doc/static/man/TIFFcodec.3tiff.html
new file mode 100644
index 00000000..1d85df48
--- /dev/null
+++ b/doc/static/man/TIFFcodec.3tiff.html
@@ -0,0 +1,118 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:25 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>CODEC</title>
+
+</head>
+<body>
+
+<h1 align="center">CODEC</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFFindCODEC,
+TIFFRegisterCODEC, TIFFUnRegisterCODEC,
+TIFFIsCODECConfigured &minus; codec-related utility
+routines</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>const
+TIFFCodec* TIFFFindCODEC(uint16_t</b> <i>scheme</i><b>);
+<br>
+TIFFCodec* TIFFRegisterCODEC(uint16_t</b> <i>scheme</i><b>,
+const char *</b><i>method</i><b>, TIFFInitMethod</b>
+<i>init</i><b>); <br>
+void TIFFUnRegisterCODEC(TIFFCodec *</b><i>codec</i><b>);
+<br>
+int TIFFIsCODECConfigured(uint16_t</b>
+<i>scheme</i><b>);</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>libtiff</i></b>
+supports a variety of compression schemes implemented by
+software <i>codecs</i>. Each codec adheres to a modular
+interface that provides for the decoding and encoding of
+image data; as well as some other methods for
+initialization, setup, cleanup, and the control of default
+strip and tile sizes. Codecs are identified by the
+associated value of the <small>TIFF</small>
+<i>Compression</i> tag; e.g. 5 for <small>LZW</small>
+compression.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The
+<i>TIFFRegisterCODEC</i> routine can be used to augment or
+override the set of codecs available to an application. If
+the specified <i>scheme</i> already has a registered codec
+then it is <i>overridden</i> and any images with data
+encoded with this compression scheme will be decoded using
+the supplied codec.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFIsCODECConfigured</i>
+returns 1 if the codec is configured and working. Otherwise
+0 will be returned.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>No space to
+register compression scheme %s</b>. <i>TIFFRegisterCODEC</i>
+was unable to allocate memory for the data structures needed
+to register a codec.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Cannot
+remove compression scheme %s; not registered</b>.
+<i>TIFFUnRegisterCODEC</i> did not locate the specified
+codec in the table of registered compression schemes.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFcolor.3tiff.html b/doc/static/man/TIFFcolor.3tiff.html
new file mode 100644
index 00000000..2d1e1d89
--- /dev/null
+++ b/doc/static/man/TIFFcolor.3tiff.html
@@ -0,0 +1,827 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:25 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>COLOR</title>
+
+</head>
+<body>
+
+<h1 align="center">COLOR</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFYCbCrToRGBInit,
+TIFFYCbCrtoRGB, TIFFCIELabToRGBInit, TIFFCIELabToXYZ,
+TIFFXYZToRGB &minus; color conversion routines.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFYCbCrToRGBInit(TIFFYCbCrToRGB *</b><i>ycbcr</i><b>,
+float *</b><i>luma</i><b>, float
+*</b><i>refBlackWhite&quot;</i><b>);&quot; <br>
+void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *</b><i>ycbcr</i><b>,
+uint32_t</b> <i>Y</i><b>, int32_t</b> <i>Cb</i><b>,
+int32_t</b> <i>Cr</i><b>, uint32_t *</b><i>R</i><b>,
+uint32_t *</b><i>G</i><b>, uint32_t *</b><i>B</i>
+<b>);</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>int
+TIFFCIELabToRGBInit(TIFFCIELabToRGB *</b><i>cielab</i><b>,
+const TIFFDisplay *</b><i>display</i><b>, float
+*</b><i>refWhite</i><b>); <br>
+void TIFFCIELabToXYZ(TIFFCIELabToRGB *</b><i>cielab</i><b>,
+uint32_t</b> <i>L</i><b>, int32_t</b> <i>a</i><b>,
+int32_t</b> <i>b</i><b>, float *</b><i>X</i><b>, float
+*</b><i>Y</i><b>, float *</b><i>Z</i><b>); <br>
+void TIFFXYZToRGB(TIFFCIELabToRGB *</b><i>cielab</i><b>,
+float</b> <i>X</i><b>, float</b> <i>Y</i><b>, float</b>
+<i>Z&quot;</i><b>,</b><i>uint32_t</i><b>*&quot;</b><i>R</i><b>,
+uint32_t *</b><i>G</i><b>, uint32_t
+*</b><i>B</i><b>);</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFF supports
+several color spaces for images stored in that format. There
+is usually a problem of application to handle the data
+properly and convert between different colorspaces for
+displaying and printing purposes. To simplify this task
+libtiff implements several color conversion routines itself.
+In particular, these routines used in
+<b>TIFFRGBAImage(3TIFF)</b> interface.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFYCbCrToRGBInit()</b>
+used to initialize <i>YCbCr</i> to <i>RGB</i> conversion
+state. Allocating and freeing of the <i>ycbcr</i> structure
+belongs to programmer. <i>TIFFYCbCrToRGB</i> defined in
+<b>tiffio.h</b> as</p>
+
+<p style="margin-left:22%; margin-top: 1em">typedef struct
+{ /* YCbCr-&gt;RGB support */ <br>
+TIFFRGBValue* clamptab; /* range clamping table */</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+
+
+<p>int*</p><td width="34%"></td>
+<td width="-26%"></td>
+<td width="15%"></td>
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="62%">
+
+
+<p>Cr_r_tab; <br>
+int*</p></td></tr>
+<tr valign="top" align="left">
+<td width="34%"></td>
+<td width="-26%"></td>
+<td width="15%"></td>
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="62%">
+
+
+<p>Cb_b_tab; <br>
+int32_t*</p></td></tr>
+<tr valign="top" align="left">
+<td width="34%"></td>
+<td width="-26%"></td>
+<td width="15%"></td>
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="62%">
+
+
+<p>Cr_g_tab; <br>
+int32_t*</p></td></tr>
+<tr valign="top" align="left">
+<td width="34%"></td>
+<td width="-26%"></td>
+<td width="15%"></td>
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="62%">
+
+
+<p>Cb_g_tab;</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">int32_t* Y_tab; <br>
+} TIFFYCbCrToRGB;</p>
+
+<p style="margin-left:11%; margin-top: 1em"><i>luma</i> is
+a float array of three values representing proportions of
+the red, green and blue in luminance, Y (see section 21 of
+the TIFF 6.0 specification, where the YCbCr images
+discussed). <i>TIFFTAG_YCBCRCOEFFICIENTS</i> holds that
+values in TIFF file. <i>refBlackWhite</i> is a float array
+of 6 values which specifies a pair of headroom and footroom
+image data values (codes) for each image component (see
+section 20 of the TIFF 6.0 specification where the
+colorinmetry fields discussed).
+<i>TIFFTAG_REFERENCEBLACKWHITE</i> is responsible for
+storing these values in TIFF file. Following code snippet
+should helps to understand the the technique:</p>
+
+<p style="margin-left:22%; margin-top: 1em">float *luma,
+*refBlackWhite; <br>
+uint16_t hs, vs;</p>
+
+<p style="margin-left:22%; margin-top: 1em">/* Initialize
+structures */ <br>
+ycbcr = (TIFFYCbCrToRGB*)</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>_TIFFmalloc(TIFFroundup(sizeof(TIFFYCbCrToRGB),
+sizeof(long))</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>+ 4*256*sizeof(TIFFRGBValue)</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>+ 2*256*sizeof(int)</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>+ 3*256*sizeof(int32_t));</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">if (ycbcr == NULL) { <br>
+TIFFError(&quot;YCbCr-&gt;RGB&quot;,</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>&quot;No space for YCbCr-&gt;RGB conversion
+state&quot;);</p> </td></tr>
+</table>
+
+<p style="margin-left:22%;">exit(0); <br>
+}</p>
+
+
+<p style="margin-left:22%; margin-top: 1em">TIFFGetFieldDefaulted(tif,
+TIFFTAG_YCBCRCOEFFICIENTS, &amp;luma); <br>
+TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE,
+&amp;refBlackWhite); <br>
+if (TIFFYCbCrToRGBInit(ycbcr, luma, refBlackWhite) &lt;
+0)</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>exit(0);</p></td></tr>
+</table>
+
+<p style="margin-left:22%; margin-top: 1em">/* Start
+conversion */ <br>
+uint32_t r, g, b; <br>
+uint32_t Y; <br>
+int32_t Cb, Cr;</p>
+
+<p style="margin-left:22%; margin-top: 1em">for each pixel
+in image</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>TIFFYCbCrtoRGB(img-&gt;ycbcr, Y, Cb, Cr, &amp;r, &amp;g,
+&amp;b);</p> </td></tr>
+</table>
+
+<p style="margin-left:22%; margin-top: 1em">/* Free state
+structure */ <br>
+_TIFFfree(ycbcr);</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFCIELabToRGBInit()</b>
+initializes the <i>CIE L*a*b* 1976</i> to <i>RGB</i>
+conversion state. <b>TIFFCIELabToRGB</b> defined as</p>
+
+<p style="margin-left:22%; margin-top: 1em">#define
+CIELABTORGB_TABLE_RANGE 1500</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+
+
+<p>typedef struct {</p></td>
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="8%">
+</td>
+<td width="46%">
+
+
+<p>/* CIE Lab 1976-&gt;RGB support */</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="8%">
+
+
+<p>int</p></td>
+<td width="7%">
+
+
+<p>range;</p></td>
+<td width="8%"></td>
+<td width="8%">
+</td>
+<td width="46%">
+
+
+<p>/* Size of conversion table */</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="8%">
+
+
+<p>float</p></td>
+<td width="7%"></td>
+<td width="8%">
+
+
+<p>rstep, gstep, bstep;</p></td>
+<td width="8%"></td>
+<td width="46%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="8%">
+
+
+<p>float</p></td>
+<td width="7%"></td>
+<td width="8%">
+
+
+<p>X0, Y0, Z0;</p></td>
+<td width="8%"></td>
+<td width="46%">
+
+
+<p>/* Reference white point */</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="8%">
+
+
+<p>TIFFDisplay display;</p></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="8%"></td>
+<td width="46%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="8%">
+
+
+<p>float</p></td>
+<td width="7%"></td>
+<td width="8%">
+
+
+<p>Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr
+to r */</p></td>
+<td width="8%"></td>
+<td width="46%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="8%">
+
+
+<p>float</p></td>
+<td width="7%"></td>
+<td width="8%">
+
+
+<p>Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg
+to g */</p></td>
+<td width="8%"></td>
+<td width="46%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-14%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="8%">
+
+
+<p>float</p></td>
+<td width="7%"></td>
+<td width="8%">
+
+
+<p>Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb
+to b */</p></td>
+<td width="8%"></td>
+<td width="46%">
+</td></tr>
+</table>
+
+<p style="margin-left:22%;">} TIFFCIELabToRGB;</p>
+
+<p style="margin-left:11%; margin-top: 1em"><i>display</i>
+is a display device description, declared as</p>
+
+<p style="margin-left:22%; margin-top: 1em">typedef struct
+{</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_mat[3][3]; /* XYZ -&gt; luminance matrix */</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_YCR; /* Light o/p for reference white */</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_YCG;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_YCB;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>uint32_t d_Vrwr; /* Pixel values for ref. white */</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>uint32_t d_Vrwg;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>uint32_t d_Vrwb;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_Y0R; /* Residual light for black pixel */</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_Y0G;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_Y0B;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_gammaR; /* Gamma values for the three guns
+*/</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_gammaG;</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>float d_gammaB;</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">} TIFFDisplay;</p>
+
+<p style="margin-left:11%; margin-top: 1em">For example,
+the one can use sRGB device, which has the following
+parameters:</p>
+
+<p style="margin-left:22%; margin-top: 1em">TIFFDisplay
+display_sRGB = {</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>{ /* XYZ -&gt; luminance matrix */</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>{ 3.2410F, -1.5374F, -0.4986F },</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>{ -0.9692F, 1.8760F, 0.0416F },</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>{ 0.0556F, -0.2040F, 1.0570F }</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+
+
+<p>},</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>100.0F, 100.0F, 100.0F, /* Light o/p for reference white
+*/</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>255, 255, 255, /* Pixel values for ref. white */</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>1.0F, 1.0F, 1.0F, /* Residual light o/p for black pixel
+*/</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>2.4F, 2.4F, 2.4F, /* Gamma values for the three guns
+*/</p> </td></tr>
+</table>
+
+<p style="margin-left:22%;">};</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>refWhite</i>
+is a color temperature of the reference white. The
+<i>TIFFTAG_WHITEPOINT</i> contains the chromaticity of the
+white point of the image from where the reference white can
+be calculated using following formulae:</p>
+
+<p style="margin-left:22%; margin-top: 1em">refWhite_Y =
+100.0 <br>
+refWhite_X = whitePoint_x / whitePoint_y * refWhite_Y <br>
+refWhite_Z = (1.0 - whitePoint_x - whitePoint_y) /
+whitePoint_y * refWhite_X</p>
+
+<p style="margin-left:11%; margin-top: 1em">The conversion
+itself performed in two steps: at the first one we will
+convert <i>CIE L*a*b* 1976</i> to <i>CIE XYZ</i> using
+<b>TIFFCIELabToXYZ()</b> routine, and at the second step we
+will convert <i>CIE XYZ</i> to <i>RGB</i> using
+<b>TIFFXYZToRGB().</b> Look at the code sample below:</p>
+
+<p style="margin-left:22%; margin-top: 1em">float
+*whitePoint; <br>
+float refWhite[3];</p>
+
+<p style="margin-left:22%; margin-top: 1em">/* Initialize
+structures */ <br>
+img-&gt;cielab = (TIFFCIELabToRGB *)</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>_TIFFmalloc(sizeof(TIFFCIELabToRGB));</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">if (!cielab) {</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>TIFFError(&quot;CIE L*a*b*-&gt;RGB&quot;,</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>&quot;No space for CIE L*a*b*-&gt;RGB conversion
+state.&quot;);</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>exit(0);</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">}</p>
+
+
+<p style="margin-left:22%; margin-top: 1em">TIFFGetFieldDefaulted(tif,
+TIFFTAG_WHITEPOINT, &amp;whitePoint); <br>
+refWhite[1] = 100.0F; <br>
+refWhite[0] = whitePoint[0] / whitePoint[1] * refWhite[1];
+<br>
+refWhite[2] = (1.0F - whitePoint[0] - whitePoint[1])</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>/ whitePoint[1] * refWhite[1];</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">if (TIFFCIELabToRGBInit(cielab,
+&amp;display_sRGB, refWhite) &lt; 0) {</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>TIFFError(&quot;CIE L*a*b*-&gt;RGB&quot;,</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%">
+</td>
+<td width="77%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>&quot;Failed to initialize CIE L*a*b*-&gt;RGB conversion
+state.&quot;);</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>_TIFFfree(cielab);</p></td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="7%"></td>
+<td width="8%"></td>
+<td width="77%">
+
+
+<p>exit(0);</p></td></tr>
+</table>
+
+<p style="margin-left:22%;">}</p>
+
+<p style="margin-left:22%; margin-top: 1em">/* Now we can
+start to convert */ <br>
+uint32_t r, g, b; <br>
+uint32_t L; <br>
+int32_t a, b; <br>
+float X, Y, Z;</p>
+
+<p style="margin-left:22%; margin-top: 1em">for each pixel
+in image</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>TIFFCIELabToXYZ(cielab, L, a, b, &amp;X, &amp;Y,
+&amp;Z);</p> </td></tr>
+<tr valign="top" align="left">
+<td width="8%"></td>
+<td width="92%">
+
+
+<p>TIFFXYZToRGB(cielab, X, Y, Z, &amp;r, &amp;g,
+&amp;b);</p> </td></tr>
+</table>
+
+<p style="margin-left:22%; margin-top: 1em">/* Don&rsquo;t
+forget to free the state structure */ <br>
+_TIFFfree(cielab);</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFRGBAImage</b>(3TIFF)
+<b>libtiff</b>(3TIFF),</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFmemory.3tiff.html b/doc/static/man/TIFFmemory.3tiff.html
new file mode 100644
index 00000000..4172bd88
--- /dev/null
+++ b/doc/static/man/TIFFmemory.3tiff.html
@@ -0,0 +1,110 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>MEMORY</title>
+
+</head>
+<body>
+
+<h1 align="center">MEMORY</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">_TIFFmalloc,
+_TIFFrealloc, _TIFFfree, _TIFFmemset, _TIFFmemcpy,
+_TIFFmemcmp, &minus; memory management-related functions for
+use with <small>TIFF</small> files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tdata_t
+_TIFFmalloc(tsize_t</b> <i>size</i><b>); <br>
+tdata_t _TIFFrealloc(tdata_t</b> <i>buffer</i><b>,
+tsize_t</b> <i>size</i><b>); <br>
+void _TIFFfree(tdata_t</b> <i>buffer</i><b>); <br>
+void _TIFFmemset(tdata_t</b> <i>s</i><b>, int</b>
+<i>c</i><b>, tsize_t</b> <i>n</i><b>); <br>
+void _TIFFmemcpy(tdata_t</b> <i>dest</i><b>, const
+tdata_t</b> <i>src</i><b>, tsize_t</b> <i>n</i><b>); <br>
+int _TIFFmemcmp(const tdata_t</b> <i>s1</i><b>, const
+tdata_t</b> <i>s2</i><b>, tsize_t</b> <i>n</i><b>);</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">These routines
+are provided for writing portable software that uses
+<i>libtiff</i>; they hide any memory-management related
+issues, such as dealing with segmented architectures found
+on 16-bit machines.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>_TIFFmalloc</i>
+and <i>_TIFFrealloc</i> are used to dynamically allocate and
+reallocate memory used by <i>libtiff</i>; such as memory
+passed into the I/O routines. Memory allocated through these
+interfaces is released back to the system using the
+<i>_TIFFfree</i> routine.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Memory
+allocated through one of the above interfaces can be set to
+a known value using <i>_TIFFmemset</i>, copied to another
+memory location using <i>_TIFFmemcpy</i>, or compared for
+equality using <i>_TIFFmemcmp</i>. These routines conform to
+the equivalent <small>ANSI</small> C routines:
+<i>memset</i>, <i>memcpy</i>, and <i>memcmp</i>,
+respectively.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>malloc</b>(3),
+<b>memory</b>(3), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFquery.3tiff.html b/doc/static/man/TIFFquery.3tiff.html
new file mode 100644
index 00000000..8af961f3
--- /dev/null
+++ b/doc/static/man/TIFFquery.3tiff.html
@@ -0,0 +1,160 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:26 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>QUERY</title>
+
+</head>
+<body>
+
+<h1 align="center">QUERY</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFCurrentRow,
+TIFFCurrentStrip, TIFFCurrentTile, TIFFCurrentDirectory,
+TIFFLastDirectory, TIFFFileno, TIFFFileName, TIFFGetMode,
+TIFFIsTiled, TIFFIsByteSwapped, TIFFIsUpSampled,
+TIFFIsMSB2LSB, TIFFGetVersion &minus; query routines</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>uint32_t
+TIFFCurrentRow(TIFF*</b> <i>tif</i><b>) <br>
+tstrip_t TIFFCurrentStrip(TIFF*</b> <i>tif</i><b>) <br>
+ttile_t TIFFCurrentTile(TIFF*</b> <i>tif</i><b>) <br>
+tdir_t TIFFCurrentDirectory(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFLastDirectory(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFFileno(TIFF*</b> <i>tif</i><b>) <br>
+char* TIFFFileName(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFGetMode(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFIsTiled(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFIsByteSwapped(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFIsUpSampled(TIFF*</b> <i>tif</i><b>) <br>
+int TIFFIsMSB2LSB(TIFF*</b> <i>tif</i><b>) <br>
+const char* TIFFGetVersion(void)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+routines return status information about an open
+<small>TIFF</small> file.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFCurrentDirectory</i>
+returns the index of the current directory (directories are
+numbered starting at 0). This number is suitable for use
+with the <i>TIFFSetDirectory</i> routine.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFLastDirectory</i>
+returns a non-zero value if the current directory is the
+last directory in the file; otherwise zero is returned.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFCurrentRow</i>,
+<i>TIFFCurrentStrip</i>, and <i>TIFFCurrentTile</i>, return
+the current row, strip, and tile, respectively, that is
+being read or written. These values are updated each time a
+read or write is done.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFFileno</i>
+returns the underlying file descriptor used to access the
+<small>TIFF</small> image in the filesystem.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFFileName</i>
+returns the pathname argument passed to <i>TIFFOpen</i> or
+<i>TIFFFdOpen</i>.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFGetMode</i>
+returns the mode with which the underlying file was opened.
+On <small>UNIX</small> systems, this is the value passed to
+the <i>open</i>(2) system call.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFIsTiled</i>
+returns a non-zero value if the image data has a tiled
+organization. Zero is returned if the image data is
+organized in strips.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFIsByteSwapped</i>
+returns a non-zero value if the image data was in a
+different byte-order than the host machine. Zero is returned
+if the TIFF file and local host byte-orders are the same.
+Note that TIFFReadTile(), TIFFReadEncodedStrip() and
+TIFFReadScanline() functions already normally perform byte
+swapping to local host order if needed.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFIsUpSampled</i>
+returns a non-zero value if image data returned through the
+read interface routines is being up-sampled. This can be
+useful to applications that want to calculate I/O buffer
+sizes to reflect this usage (though the usual strip and tile
+size routines already do this).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFIsMSB2LSB</i>
+returns a non-zero value if the image data is being returned
+with bit 0 as the most significant bit.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFGetVersion</i>
+returns an <small>ASCII</small> string that has a version
+stamp for the <small>TIFF</small> library software.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>libtiff</i>(3TIFF),
+<i>TIFFOpen</i>(3TIFF), <i>TIFFFdOpen</i>(3TIFF)</p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFsize.3tiff.html b/doc/static/man/TIFFsize.3tiff.html
new file mode 100644
index 00000000..9ec15e6b
--- /dev/null
+++ b/doc/static/man/TIFFsize.3tiff.html
@@ -0,0 +1,92 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFSIZE</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFSIZE</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFScanlineSize,
+TIFFRasterScanlineSize, &minus; return the size of various
+items associated with an open <small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>tsize_t
+TIFFRasterScanlineSize(TIFF *</b><i>tif</i><b>) <br>
+tsize_t TIFFScanlineSize(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFScanlineSize</i></b>
+returns the size in bytes of a row of data as it would be
+returned in a call to <i>TIFFReadScanline</i>, or as it
+would be expected in a call to <i>TIFFWriteScanline</i>.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFRasterScanlineSize</i>
+returns the size in bytes of a complete decoded and packed
+raster scanline. Note that this value may be different from
+the value returned by <i>TIFFScanlineSize</i> if data is
+stored as separate planes.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
+<b>TIFFReadScanline</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFstrip.3tiff.html b/doc/static/man/TIFFstrip.3tiff.html
new file mode 100644
index 00000000..25a5fd76
--- /dev/null
+++ b/doc/static/man/TIFFstrip.3tiff.html
@@ -0,0 +1,136 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFSTRIP</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFSTRIP</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFDefaultStripSize,
+TIFFStripSize, TIFFVStripSize, TIFFRawStripSize,
+TIFFComputeStrip, TIFFNumberOfStrips &minus; strip-related
+utility routines</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>uint32_t
+TIFFDefaultStripSize(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>estimate</i><b>) <br>
+tmsize_t TIFFStripSize(TIFF *</b><i>tif</i><b>) <br>
+tmsize_t TIFFVStripSize(TIFF *</b><i>tif</i><b>,
+uint32_t</b> <i>nrows</i><b>) <br>
+tmsize_t TIFFRawStripSize(TIFF *</b><i>tif</i><b>,
+uint32_t</b> <i>strip</i><b>) <br>
+tstrip_t TIFFComputeStrip(TIFF *</b><i>tif</i><b>,
+uint32_t</b> <i>row</i><b>, tsample_t</b> <i>sample</i><b>)
+<br>
+tstrip_t TIFFNumberOfStrips(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFDefaultStripSize</i></b>
+returns the number of rows for a reasonable-sized strip
+according to the current settings of the <i>ImageWidth</i>,
+<i>BitsPerSample</i>, <i>SamplesPerPixel</i>, tags and any
+compression-specific requirements. If the <i>estimate</i>
+parameter, if non-zero, then it is taken as an estimate of
+the desired strip size and adjusted according to any
+compression-specific requirements. The value returned by
+this function is typically used to define the
+<i>RowsPerStrip</i> tag. In lieu of any unusual requirements
+<i>TIFFDefaultStripSize</i> tries to create strips that have
+approximately 8 kilobytes of uncompressed data.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFStripSize</i>
+returns the equivalent size for a strip of data as it would
+be returned in a call to <i>TIFFReadEncodedStrip</i> or as
+it would be expected in a call to
+<i>TIFFWriteEncodedStrip</i>.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFVStripSize</i>
+returns the number of bytes in a strip with <i>nrows</i>
+rows of data.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFRawStripSize</i>
+returns the number of bytes in a raw strip (i.e. not
+decoded).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFComputeStrip</i>
+returns the strip that contains the specified coordinates. A
+valid strip is always returned; out-of-range coordinate
+values are clamped to the bounds of the image. The
+<i>row</i> parameter is always used in calculating a strip.
+The <i>sample</i> parameter is used only if data are
+organized in separate planes
+(<i>PlanarConfiguration</i>=2).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFNumberOfStrips</i>
+returns the number of strips in the image.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFReadEncodedStrip</b>(3TIFF),
+<b>TIFFReadRawStrip</b>(3TIFF),
+<b>TIFFWriteEncodedStrip</b>(3TIFF),
+<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF),</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFswab.3tiff.html b/doc/static/man/TIFFswab.3tiff.html
new file mode 100644
index 00000000..aaa44478
--- /dev/null
+++ b/doc/static/man/TIFFswab.3tiff.html
@@ -0,0 +1,110 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>SWAB</title>
+
+</head>
+<body>
+
+<h1 align="center">SWAB</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFGetBitRevTable,
+TIFFReverseBits, TIFFSwabShort, TIFFSwabLong,
+TIFFSwabArrayOfShort, TIFFSwabArrayOfLong &minus; byte- and
+bit-swapping routines</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>const
+unsigned char* TIFFGetBitRevTable(int</b>
+<i>reversed</i><b>) <br>
+void TIFFReverseBits(u_char *</b><i>data</i><b>, unsigned
+long</b> <i>nbytes</i><b>) <br>
+void TIFFSwabShort(uint16_t *</b><i>data</i><b>) <br>
+void TIFFSwabLong(uint32_t *</b><i>data</i><b>) <br>
+void TIFFSwabArrayOfShort(uint16_t *</b><i>data</i><b>,
+unsigned long</b> <i>nshorts</i><b>) <br>
+void TIFFSwabArrayOfLong(uint32_t *</b><i>data</i><b>,
+unsigned long</b> <i>nlongs</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+routines are used by the library to swap 16- and 32-bit data
+and to reverse the order of bits in bytes.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFSwabShort</i>
+and <i>TIFFSwabLong</i> swap the bytes in a single 16-bit
+and 32-bit item, respectively. <i>TIFFSwabArrayOfShort</i>
+and <i>TIFFSwabArrayOfLong</i> swap the bytes in an array of
+16-bit and 32-bit items, respectively.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFReverseBits</i>
+replaces each byte in <i>data</i> with the equivalent
+bit-reversed value. This operation is performed with a
+lookup table, which is returned using the
+<i>TIFFGetBitRevTable</i> function. <i>reversed</i>
+parameter specifies which table should be returned. Supply
+<i>1</i> if you want bit reversal table. Supply <i>0</i> to
+get the table that do not reverse bit values. It is a lookup
+table that can be used as an <i>identity function</i>; i.e.
+<i>TIFFNoBitRevTable[n] == n</i>.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/TIFFtile.3tiff.html b/doc/static/man/TIFFtile.3tiff.html
new file mode 100644
index 00000000..c19e0533
--- /dev/null
+++ b/doc/static/man/TIFFtile.3tiff.html
@@ -0,0 +1,148 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:27 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFTILE</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFTILE</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">TIFFTileSize,
+TIFFTileRowSize, TIFFVTileSize, TIFFDefaultTileSize,
+TIFFComputeTile, TIFFCheckTile, TIFFNumberOfTiles &minus;
+tile-related utility routines</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>void
+TIFFDefaultTileSize(TIFF *</b><i>tif</i><b>, uint32_t
+*</b><i>tw</i><b>, uint32_t *</b><i>th</i><b>) <br>
+tsize_t TIFFTileSize(TIFF *</b><i>tif</i><b>) <br>
+tsize_t TIFFTileRowSize(TIFF *</b><i>tif</i><b>) <br>
+tsize_t TIFFVTileSize(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>nrows</i><b>) <br>
+ttile_t TIFFComputeTile(TIFF *</b><i>tif</i><b>,
+uint32_t</b> <i>x</i><b>, uint32_t</b> <i>y</i><b>,
+uint32_t</b> <i>z</i><b>, tsample_t</b> <i>sample</i><b>)
+<br>
+int TIFFCheckTile(TIFF *</b><i>tif</i><b>, uint32_t</b>
+<i>x</i><b>, uint32_t</b> <i>y</i><b>, uint32_t</b>
+<i>z</i><b>, tsample_t</b> <i>sample</i><b>) <br>
+ttile_t TIFFNumberOfTiles(TIFF *</b><i>tif</i><b>)</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFDefaultTileSize</i></b>
+returns the pixel width and height of a reasonable-sized
+tile; suitable for setting up the <i>TileWidth</i> and
+<i>TileLength</i> tags. If the <i>tw</i> and <i>th</i>
+values passed in are non-zero, then they are adjusted to
+reflect any compression-specific requirements. The returned
+width and height are constrained to be a multiple of 16
+pixels to conform with the <small>TIFF</small>
+specification.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFTileSize</i>
+returns the equivalent size for a tile of data as it would
+be returned in a call to <i>TIFFReadTile</i> or as it would
+be expected in a call to <i>TIFFWriteTile</i>.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFVTileSize</i>
+returns the number of bytes in a row-aligned tile with
+<i>nrows</i> of data.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFTileRowSize</i>
+returns the number of bytes of a row of data in a tile.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFComputeTile</i>
+returns the tile that contains the specified coordinates. A
+valid tile is always returned; out-of-range coordinate
+values are clamped to the bounds of the image. The <i>x</i>
+and <i>y</i> parameters are always used in calculating a
+tile. The <i>z</i> parameter is used if the image is deeper
+than 1 slice (<i>ImageDepth</i>&gt;1). The <i>sample</i>
+parameter is used only if data are organized in separate
+planes (<i>PlanarConfiguration</i>=2).</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFCheckTile</i>
+returns a non-zero value if the supplied coordinates are
+within the bounds of the image and zero otherwise. The
+<i>x</i> parameter is checked against the value of the
+<i>ImageWidth</i> tag. The <i>y</i> parameter is checked
+against the value of the <i>ImageLength</i> tag. The
+<i>z</i> parameter is checked against the value of the
+<i>ImageDepth</i> tag (if defined). The <i>sample</i>
+parameter is checked against the value of the
+<i>SamplesPerPixel</i> parameter if the data are organized
+in separate planes.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>TIFFNumberOfTiles</i>
+returns the number of tiles in the image.</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>TIFFReadEncodedTile</b>(3TIFF),
+<b>TIFFReadRawTile</b>(3TIFF), <b>TIFFReadTile</b>(3TIFF),
+<b>TIFFWriteEncodedTile</b>(3TIFF),
+<b>TIFFWriteRawTile</b>(3TIFF), <b>TIFFWriteTile</b>(3TIFF),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/fax2ps.1.html b/doc/static/man/fax2ps.1.html
new file mode 100644
index 00000000..49130c5b
--- /dev/null
+++ b/doc/static/man/fax2ps.1.html
@@ -0,0 +1,224 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>FAX2PS</title>
+
+</head>
+<body>
+
+<h1 align="center">FAX2PS</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">fax2ps &minus;
+convert a <small>TIFF</small> facsimile to compressed
+PostScript&trade;</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>fax2ps</b> [
+<i>options</i> ] [ <i>file ...</i> ]</p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>fax2ps</i>
+reads one or more <small>TIFF</small> facsimile image files
+and prints a compressed form of PostScript on the standard
+output that is suitable for printing.</p>
+
+<p style="margin-left:11%; margin-top: 1em">By default,
+each page is scaled to reflect the image dimensions and
+resolutions stored in the file. The <b>&minus;x</b> and
+<b>&minus;y</b> options can be used to specify the
+horizontal and vertical image resolutions (lines/inch),
+respectively. If the <b>&minus;S</b> option is specified,
+each page is scaled to fill an output page. The default
+output page is 8.5 by 11 inches. Alternate page dimensions
+can be specified in inches with the <b>&minus;W</b> and
+<b>&minus;H</b> options.</p>
+
+<p style="margin-left:11%; margin-top: 1em">By default
+<i>fax2ps</i> generates PostScript for all pages in the
+file. The <b>&minus;p</b> option can be used to select one
+or more pages from a multi-page document.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><i>fax2ps</i>
+generates a compressed form of PostScript that is optimized
+for sending pages of text to a PostScript printer attached
+to a host through a low-speed link (such as a serial line).
+Each output page is filled with white and then only the
+black areas are drawn. The PostScript specification of the
+black drawing operations is optimized by using a special
+font that encodes the move-draw operations required to fill
+the black regions on the page. This compression scheme
+typically results in a substantially reduced PostScript
+description, relative to the straightforward imaging of the
+page with a PostScript <i>image</i> operator. This algorithm
+can, however, be ineffective for continuous-tone and
+white-on-black images. For these images, it sometimes is
+more efficient to send the raster bitmap image directly; see
+<b>tiff2ps</b>(1).</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="14%">
+
+
+<p style="margin-top: 1em"><b>&minus;p</b>
+<i>number</i></p> </td>
+<td width="1%"></td>
+<td width="74%">
+
+
+<p style="margin-top: 1em">Print only the indicated page.
+Multiple pages may be printed by specifying this option more
+than once.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;x</b>
+<i>resolution</i></p>
+
+<p style="margin-left:26%;">Use <i>resolution</i> as the
+horizontal resolution, in dots/inch, of the image data. By
+default this value is taken from the file.</p>
+
+<p style="margin-left:11%;"><b>&minus;y</b>
+<i>resolution</i></p>
+
+<p style="margin-left:26%;">Use <i>resolution</i> as the
+vertical resolution, in lines/inch, of the image data. By
+default this value is taken from the file.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="14%">
+
+
+<p><b>&minus;S</b></p></td>
+<td width="1%"></td>
+<td width="74%">
+
+
+<p>Scale each page of image data to fill the output page
+dimensions. By default images are presented according to the
+dimension information recorded in the <small>TIFF</small>
+file.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="14%">
+
+
+<p><b>&minus;W</b> <i>width</i></p></td>
+<td width="1%"></td>
+<td width="74%">
+
+
+<p>Use <i>width</i> as the width, in inches, of the output
+page.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="14%">
+
+
+<p><b>&minus;H</b> <i>height</i></p></td>
+<td width="1%"></td>
+<td width="74%">
+
+
+<p>Use <i>height</i> as the height, in inches, of the
+output page.</p></td></tr>
+</table>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Some messages
+about malformed <small>TIFF</small> images come from the
+<small>TIFF</small> library.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Various
+messages about badly formatted facsimile images may be
+generated due to transmission errors in received facsimile.
+<i>fax2ps</i> attempts to recover from such data errors by
+resynchronizing decoding at the end of the current scanline.
+This can result in long horizontal black lines in the
+resultant PostScript image.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">If the
+destination printer supports PostScript Level II then it is
+always faster to just send the encoded bitmap generated by
+the <b>tiff2ps</b>(1) program.</p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>fax2ps</i>
+should probably figure out when it is doing a poor job of
+compressing the output and just generate PostScript to image
+the bitmap raster instead.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiff2ps</b>(1),
+<b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/fax2tiff.1.html b/doc/static/man/fax2tiff.1.html
new file mode 100644
index 00000000..c12bfd27
--- /dev/null
+++ b/doc/static/man/fax2tiff.1.html
@@ -0,0 +1,573 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>FAX2TIFF</title>
+
+</head>
+<body>
+
+<h1 align="center">FAX2TIFF</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">fax2tiff
+&minus; create a <small>TIFF</small> Class F fax file from
+raw fax data</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>fax2tiff</b>
+[ <i>options</i> ] [ <b>&minus;o</b> <i>output.tif</i> ]
+<i>input.raw</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Fax2tiff</i>
+creates a <small>TIFF</small> file containing
+<small>CCITT</small> Group 3 or Group 4 encoded data from
+one or more files containing &lsquo;&lsquo;raw&rsquo;&rsquo;
+Group 3 or Group 4 encoded data (typically obtained directly
+from a fax modem). By default, each row of data in the
+resultant <small>TIFF</small> file is 1-dimensionally
+encoded and padded or truncated to 1728 pixels, as needed.
+The resultant image is a set of low resolution (98
+lines/inch) or medium resolution (196 lines/inch) pages,
+each of which is a single strip of data. The generated file
+conforms to the <small>TIFF</small> Class F ( <small>FAX)
+specification for storing facsimile data.</small> This
+means, in particular, that each page of the data does
+<b>not</b> include the trailing <i>return to control</i> (
+<small>RTC) code; as required</small> for transmission by
+the <small>CCITT</small> Group 3 specifications. The old,
+&lsquo;&lsquo;classic&rsquo;&rsquo;, format is created if
+the <b>&minus;c</b> option is used. (The Class F format can
+also be requested with the <b>&minus;f</b> option.)</p>
+
+<p style="margin-left:11%; margin-top: 1em">The default
+name of the output image is <i>fax.tif</i>; this can be
+changed with the <b>&minus;o</b> option. Each input file is
+assumed to be a separate page of facsimile data from the
+same document. The order in which input files are specified
+on the command line is the order in which the resultant
+pages appear in the output file.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Options that
+affect the interpretation of input data are:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;3</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is <small>CCITT</small> Group 3
+encoded (default).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;4</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is <small>CCITT</small> Group 4
+encoded.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;U</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is uncompressed (Group 3 or Group
+4).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;1</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is encoded with the 1-dimensional
+version of the <small>CCITT</small> Group 3 Huffman encoding
+algorithm (default).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;2</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is 2-dimensional version of the
+<small>CCITT</small> Group 3 Huffman encoding algorithm.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;P</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is <b>not</b> EOL-aligned (default).
+This option has effect with Group 3 encoded input only.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;A</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Assume input data is EOL-aligned. This option has effect
+with Group 3 encoded input only.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;M</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Treat input data as having bits filled from most
+significant bit ( <small>MSB) to most least bit (
+<small>LSB).</small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><b>&minus;L</b></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small>Treat input data as having bits filled from least
+significant bit ( <small>LSB) to most significant bit (
+<small>MSB) (default).</small></small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;B</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Assume input data was encoded with black
+as 0 and white as 1.</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;W</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Assume input data was encoded with black
+as 1 and white as 0 (default).</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;R</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Specify the vertical resolution, in
+lines/inch, of the input images. By default input are
+assumed to have a vertical resolution of 196 lines/inch. If
+images are low resolution facsimile, a value of 98
+lines/inch should be specified.</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;X</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Specify the width, in pixels, of the input
+images. By default input are assumed to have a width of 1728
+pixels.</small></small></p> </td></tr>
+</table>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small>Options
+that affect the output file format are:</small></small></p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+
+<p style="margin-top: 1em"><small><small><b>&minus;o</b></small></small></p> </td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em"><small><small>Specify the name
+of the output file.</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;7</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force output to be compressed with the
+<small>CCITT</small> Group 3 Huffman encoding algorithm
+(default).</small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;8</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force output to be compressed with the
+<small>CCITT</small> Group 4 Huffman
+encoding.</small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;u</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force output to be uncompressed (Group 3
+or Group 4).</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;5</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force output to be encoded with the
+1-dimensional version of the <small>CCITT</small> Group 3
+Huffman encoding algorithm.</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;6</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force output to be encoded with the
+2-dimensional version of the <small>CCITT</small> Group 3
+Huffman encoding algorithm (default).</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;a</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force the last bit of each <i>End Of
+Line</i> ( <small>EOL) code to land on a byte boundary
+(default). This &lsquo;&lsquo;zero padding&rsquo;&rsquo;
+will</small> be reflected in the contents of the
+<i>Group3Options</i> tag of the resultant
+<small>TIFF</small> file. This option has effect with Group
+3 encoded output only.</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;p</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Do not EOL-align output. This option has
+effect with Group 3 encoded output only.</small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;c</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Generate &quot;classic&quot; Group 3 TIFF
+format.</small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;f</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Generate TIFF Class F (TIFF/F) format
+(default).</small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><small><small><b>&minus;m</b></small></small></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small>Force output data to have bits filled from
+most significant bit ( <small>MSB) to most least bit (
+<small>LSB).</small></small></small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+
+<p><small><small><small><b>&minus;l</b></small></small></small></p> </td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small><small>Force output data to have bits
+filled from least significant bit ( <small>LSB) to most
+significant bit ( <small>MSB)
+(default).</small></small></small></small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+
+<p><small><small><small><small><b>&minus;r</b></small></small></small></small></p> </td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small><small><small>Specify the number of rows
+(scanlines) in each strip of data written to the output
+file. By default (or when value <b>0</b> is specified),
+<i>tiffcp</i> attempts to set the rows/strip that no more
+than 8 kilobytes of data appear in a strip (with except of
+G3/G4 compression schemes). If you specify special value
+<b>&minus;1</b> it will results in infinite number of the
+rows per strip. The entire image will be the one strip in
+that case. This is default in case of G3/G4 output
+compression schemes.</small></small></small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+
+<p><small><small><small><small><b>&minus;s</b></small></small></small></small></p> </td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small><small><small>Stretch the input image
+vertically by writing each input row of data twice to the
+output file.</small></small></small></small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+
+<p><small><small><small><small><b>&minus;v</b></small></small></small></small></p> </td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small><small><small>Force <i>fax2tiff</i> to
+print the number of rows of data it retrieved from the input
+file.</small></small></small></small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+
+<p><small><small><small><small><b>&minus;z</b></small></small></small></small></p> </td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p><small><small><small><small>Force output to be
+compressed with the LZW
+encoding.</small></small></small></small></p> </td></tr>
+</table>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small>The
+following warnings and errors come from the decoding
+routines in the library.</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b>Warning,
+%s: Premature EOL at scanline %d (x %d).\n</b>. The input
+data had a row that was shorter than the expected width. The
+row is padded with
+white.</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b>%s:
+Premature EOF at scanline %d (x %d).\n</b>. The decoder ran
+out of data in the middle of a scanline. The resultant row
+is padded with white.</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b>%s:
+Bad code word at row %d, x %d\n</b>. An invalid Group 3
+<i>code</i> was encountered while decoding the input file.
+The row number and horizontal position is given. The
+remainder of the input row is discarded, while the
+corresponding output row is padded with
+white.</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b>%s:
+Bad 2D code word at scanline %d.\n</b>. An invalid Group 4
+or 2D Group 3 <i>code</i> was encountered while decoding the
+input file. The row number and horizontal position is given.
+The remainder of the input row is discarded, while the
+corresponding output row is padded with
+white.</small></small></small></small></p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small>Input
+data are assumed to have a a &lsquo;&lsquo;top
+left&rsquo;&rsquo; orientation; it should be possible to
+override this assumption from the command
+line.</small></small></small></small></p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b><small>CCITT</small>
+Recommendation T.4</b> (Standardization of Group 3 Facsimile
+Apparatus for Document
+Transmission).</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b>The
+Spirit of TIFF Class F</b>, an appendix to the TIFF 5.0
+specification prepared by Cygnet
+Technologies.</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small><b>tiffinfo</b>(1),
+<b>tiffdither</b>(1), <b>tiffgt</b>(1),
+<b>libtiff</b>(3)</small></small></small></small></p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><small><small><small><small>Libtiff
+library home page:
+<b>http://www.simplesystems.org/libtiff/</b></small></small></small></small></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/libtiff.3tiff.html b/doc/static/man/libtiff.3tiff.html
new file mode 100644
index 00000000..a196857f
--- /dev/null
+++ b/doc/static/man/libtiff.3tiff.html
@@ -0,0 +1,3099 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:25 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>INTRO</title>
+
+</head>
+<body>
+
+<h1 align="center">INTRO</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#DATA TYPES">DATA TYPES</a><br>
+<a href="#LIST OF ROUTINES">LIST OF ROUTINES</a><br>
+<a href="#TAG USAGE">TAG USAGE</a><br>
+<a href="#PSEUDO TAGS">PSEUDO TAGS</a><br>
+<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+<a href="#BUGS">BUGS</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">libtiff &minus;
+introduction to <i>libtiff</i>, a library for reading and
+writing <small>TIFF</small> files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>#include
+&lt;tiffio.h&gt;</b></p>
+
+<p style="margin-left:11%; margin-top: 1em">cc file.c
+<b>-ltiff</b></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b><i>libtiff</i></b>
+is a library for reading and writing data files encoded with
+the <i>Tag Image File</i> format, Revision 6.0 (or revision
+5.0 or revision 4.0). This file format is suitable for
+archiving multi-color and monochromatic image data.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The library
+supports several compression algorithms, as indicated by the
+<i>Compression</i> field, including: no compression (1),
+<small>CCITT</small> 1D Huffman compression (2),
+<small>CCITT</small> Group 3 Facsimile compression (3),
+<small>CCITT</small> Group 4 Facsimile compression (4),
+Lempel-Ziv &amp; Welch compression (5), baseline JPEG
+compression (7), word-aligned 1D Huffman compression
+(32771), and PackBits compression (32773). In addition,
+several nonstandard compression algorithms are supported:
+the 4-bit compression algorithm used by the
+<i>ThunderScan</i> program (32809) (decompression only),
+NeXT&rsquo;s 2-bit compression algorithm (32766)
+(decompression only), an experimental LZ-style algorithm
+known as Deflate (32946), and an experimental CIE LogLuv
+compression scheme designed for images with high dynamic
+range (32845 for LogL and 32845 for LogLuv). Directory
+information may be in either little- or big-endian byte
+order&minus;byte swapping is automatically done by the
+library. Data bit ordering may be either Most Significant
+Bit ( <small>MSB) to Least Significant Bit ( <small>LSB)
+or</small> LSB</small> to <small>MSB.</small> Finally, the
+library does not support files in which the
+<i>BitsPerSample</i>, <i>Compression</i>,
+<i>MinSampleValue</i>, or <i>MaxSampleValue</i> fields are
+defined differently on a per-sample basis (in Rev. 6.0 the
+<i>Compression</i> tag is not defined on a per-sample basis,
+so this is immaterial).</p>
+
+<h2>DATA TYPES
+<a name="DATA TYPES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+makes extensive use of C typedefs to promote portability.
+Two sets of typedefs are used, one for communication with
+clients of the library and one for internal data structures
+and parsing of the <small>TIFF</small> format. The following
+typedefs are exposed to users either through function
+definitions or through parameters passed through the varargs
+interfaces.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef unsigned short uint16_t;</p></td>
+<td width="42%">
+
+
+<p>16-bit unsigned integer</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef unsigned &lt;<i>thing</i>&gt; uint32_t;</p></td>
+<td width="42%">
+
+
+<p>32-bit unsigned integer</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef unsigned int ttag_t;</p></td>
+<td width="42%">
+
+
+<p>directory tag</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef uint16_t tdir_t;</p></td>
+<td width="42%">
+
+
+<p>directory index</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef uint16_t tsample_t;</p></td>
+<td width="42%">
+
+
+<p>sample number</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef uint32_t tstrip_t;</p></td>
+<td width="42%">
+
+
+<p>strip number</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef uint32_t ttile_t;</p></td>
+<td width="42%">
+
+
+<p>tile number</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef int32_t tsize_t;</p></td>
+<td width="42%">
+
+
+<p>i/o size in bytes</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef void* tdata_t;</p></td>
+<td width="42%">
+
+
+<p>image data ref</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef void* thandle_t;</p></td>
+<td width="42%">
+
+
+<p>client data handle</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="40%">
+
+
+<p>typedef int32_t toff_t;</p></td>
+<td width="42%">
+
+
+<p>file offset</p></td></tr>
+</table>
+
+<p style="margin-left:11%;">Note that <i>tstrip_t</i>,
+<i>ttile_t</i>, and <i>tsize_t</i> are constrained to be no
+more than 32-bit quantities by 32-bit fields they are stored
+in in the <small>TIFF</small> image. Likewise
+<i>tsample_t</i> is limited by the 16-bit field used to
+store the <i>SamplesPerPixel</i> tag. <i>tdir_t</i>
+constrains the maximum number of <small>IFDs</small> that
+may appear in an image and may be an arbitrary size (w/o
+penalty). <i>ttag_t</i> must be either int, unsigned int,
+pointer, or double because the library uses a varargs
+interface and <small>ANSI C</small> restricts the type of
+the parameter before an ellipsis to be a promoted type.
+<i>toff_t</i> is defined as int32_t because TIFF file
+offsets are (unsigned) 32-bit quantities. A signed value is
+used because some interfaces return &minus;1 on error.
+Finally, note that user-specified data references are passed
+as opaque handles and only cast at the lowest layers where
+their type is presumed.</p>
+
+<h2>LIST OF ROUTINES
+<a name="LIST OF ROUTINES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+routines are part of the library. Consult specific manual
+pages for details on their operation; on most systems doing
+&lsquo;&lsquo;man function-name&rsquo;&rsquo; will work.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p><i>Name</i></p></td>
+<td width="62%">
+
+
+<p><i>Description</i></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCheckpointDirectory</p></td>
+<td width="62%">
+
+
+<p>writes the current state of the directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCheckTile</p></td>
+<td width="62%">
+
+
+<p>very x,y,z,sample is within image</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCIELabToRGBInit</p></td>
+<td width="62%">
+
+
+<p>initialize CIE L*a*b* 1976 to RGB conversion state</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCIELabToXYZ</p></td>
+<td width="62%">
+
+
+<p>perform CIE L*a*b* 1976 to CIE XYZ conversion</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFClientOpen</p></td>
+<td width="62%">
+
+
+<p>open a file for reading or writing</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFClose</p></td>
+<td width="62%">
+
+
+<p>close an open file</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFComputeStrip</p></td>
+<td width="62%">
+
+
+<p>return strip containing y,sample</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFComputeTile</p></td>
+<td width="62%">
+
+
+<p>return tile containing x,y,z,sample</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCurrentDirectory</p></td>
+<td width="62%">
+
+
+<p>return index of current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCurrentRow</p></td>
+<td width="62%">
+
+
+<p>return index of current scanline</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCurrentStrip</p></td>
+<td width="62%">
+
+
+<p>return index of current strip</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFCurrentTile</p></td>
+<td width="62%">
+
+
+<p>return index of current tile</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFDataWidth</p></td>
+<td width="62%">
+
+
+<p>return the size of TIFF data types</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFError</p></td>
+<td width="62%">
+
+
+<p>library error handler</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFdOpen</p></td>
+<td width="62%">
+
+
+<p>open a file for reading or writing</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldDataType</p></td>
+<td width="62%">
+
+
+<p>get data type from field information</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldName</p></td>
+<td width="62%">
+
+
+<p>get field name from field information</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldPassCount</p></td>
+<td width="62%">
+
+
+<p>get whether to pass a value count to Get/SetField</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldReadCount</p></td>
+<td width="62%">
+
+
+<p>get number of values to be read from field</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldTag</p></td>
+<td width="62%">
+
+
+<p>get tag value from field information</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldWithName</p></td>
+<td width="62%">
+
+
+<p>get field information given field name</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldWithTag</p></td>
+<td width="62%">
+
+
+<p>get field information given tag</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFieldWriteCount</p></td>
+<td width="62%">
+
+
+<p>get number of values to be written to field</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFileName</p></td>
+<td width="62%">
+
+
+<p>return name of open file</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFileno</p></td>
+<td width="62%">
+
+
+<p>return open file descriptor</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFindCODEC</p></td>
+<td width="62%">
+
+
+<p>find standard codec for the specific scheme</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFindField</p></td>
+<td width="62%">
+
+
+<p>get field information given tag and data type</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFlush</p></td>
+<td width="62%">
+
+
+<p>flush all pending writes</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFFlushData</p></td>
+<td width="62%">
+
+
+<p>flush pending data writes</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFGetBitRevTable</p></td>
+<td width="62%">
+
+
+<p>return bit reversal table</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFGetField</p></td>
+<td width="62%">
+
+
+<p>return tag value in current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFGetFieldDefaulted</p></td>
+<td width="62%">
+
+
+<p>return tag value in current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFGetMode</p></td>
+<td width="62%">
+
+
+<p>return open file mode</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFGetVersion</p></td>
+<td width="62%">
+
+
+<p>return library version string</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFIsCODECConfigured</p></td>
+<td width="62%">
+
+
+<p>check, whether we have working codec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFIsMSB2LSB</p></td>
+<td width="62%">
+
+
+<p>return true if image data is being returned</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%"></td>
+<td width="62%">
+
+
+<p>with bit 0 as the most significant bit</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFIsTiled</p></td>
+<td width="62%">
+
+
+<p>return true if image data is tiled</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFIsByteSwapped</p></td>
+<td width="62%">
+
+
+<p>return true if image data is byte-swapped</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFNumberOfStrips</p></td>
+<td width="62%">
+
+
+<p>return number of strips in an image</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFNumberOfTiles</p></td>
+<td width="62%">
+
+
+<p>return number of tiles in an image</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFOpen</p></td>
+<td width="62%">
+
+
+<p>open a file for reading or writing</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFPrintDirectory</p></td>
+<td width="62%">
+
+
+<p>print description of the current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadBufferSetup</p></td>
+<td width="62%">
+
+
+<p>specify i/o buffer for reading</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadDirectory</p></td>
+<td width="62%">
+
+
+<p>read the next directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadEncodedStrip</p></td>
+<td width="62%">
+
+
+<p>read and decode a strip of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadEncodedTile</p></td>
+<td width="62%">
+
+
+<p>read and decode a tile of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadRawStrip</p></td>
+<td width="62%">
+
+
+<p>read a raw strip of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadRawTile</p></td>
+<td width="62%">
+
+
+<p>read a raw tile of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadRGBAImage</p></td>
+<td width="62%">
+
+
+<p>read an image into a fixed format raster</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadScanline</p></td>
+<td width="62%">
+
+
+<p>read and decode a row of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReadTile</p></td>
+<td width="62%">
+
+
+<p>read and decode a tile of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFRegisterCODEC</p></td>
+<td width="62%">
+
+
+<p>override standard codec for the specific scheme</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFReverseBits</p></td>
+<td width="62%">
+
+
+<p>reverse bits in an array of bytes</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFRGBAImageBegin</p></td>
+<td width="62%">
+
+
+<p>setup decoder state for TIFFRGBAImageGet</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFRGBAImageEnd</p></td>
+<td width="62%">
+
+
+<p>release TIFFRGBAImage decoder state</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFRGBAImageGet</p></td>
+<td width="62%">
+
+
+<p>read and decode an image</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFRGBAImageOK</p></td>
+<td width="62%">
+
+
+<p>is image readable by TIFFRGBAImageGet</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFScanlineSize</p></td>
+<td width="62%">
+
+
+<p>return size of a scanline</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSetDirectory</p></td>
+<td width="62%">
+
+
+<p>set the current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSetSubDirectory</p></td>
+<td width="62%">
+
+
+<p>set the current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSetErrorHandler</p></td>
+<td width="62%">
+
+
+<p>set error handler function</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSetField</p></td>
+<td width="62%">
+
+
+<p>set a tag&rsquo;s value in the current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSetWarningHandler</p></td>
+<td width="62%">
+
+
+<p>set warning handler function</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFStripSize</p></td>
+<td width="62%">
+
+
+<p>returns size of a strip</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFRawStripSize</p></td>
+<td width="62%">
+
+
+<p>returns the number of bytes in a raw strip</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSwabShort</p></td>
+<td width="62%">
+
+
+<p>swap bytes of short</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSwabLong</p></td>
+<td width="62%">
+
+
+<p>swap bytes of long</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSwabArrayOfShort</p></td>
+<td width="62%">
+
+
+<p>swap bytes of an array of shorts</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFSwabArrayOfLong</p></td>
+<td width="62%">
+
+
+<p>swap bytes of an array of longs</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFTileRowSize</p></td>
+<td width="62%">
+
+
+<p>return size of a row in a tile</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFTileSize</p></td>
+<td width="62%">
+
+
+<p>return size of a tile</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFUnRegisterCODEC</p></td>
+<td width="62%">
+
+
+<p>unregisters the codec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFVGetField</p></td>
+<td width="62%">
+
+
+<p>return tag value in current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFVGetFieldDefaulted</p></td>
+<td width="62%">
+
+
+<p>return tag value in current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFVSetField</p></td>
+<td width="62%">
+
+
+<p>set a tag&rsquo;s value in the current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFVStripSize</p></td>
+<td width="62%">
+
+
+<p>returns the number of bytes in a strip</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWarning</p></td>
+<td width="62%">
+
+
+<p>library warning handler</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteDirectory</p></td>
+<td width="62%">
+
+
+<p>write the current directory</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteEncodedStrip</p></td>
+<td width="62%">
+
+
+<p>compress and write a strip of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteEncodedTile</p></td>
+<td width="62%">
+
+
+<p>compress and write a tile of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteRawStrip</p></td>
+<td width="62%">
+
+
+<p>write a raw strip of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteRawTile</p></td>
+<td width="62%">
+
+
+<p>write a raw tile of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteScanline</p></td>
+<td width="62%">
+
+
+<p>write a scanline of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFWriteTile</p></td>
+<td width="62%">
+
+
+<p>compress and write a tile of data</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFXYZToRGB</p></td>
+<td width="62%">
+
+
+<p>perform CIE XYZ to RGB conversion</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFYCbCrToRGBInit</p></td>
+<td width="62%">
+
+
+<p>initialize YCbCr to RGB conversion state</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>TIFFYCbCrtoRGB</p></td>
+<td width="62%">
+
+
+<p>perform YCbCr to RGB conversion</p></td></tr>
+</table>
+
+<p style="margin-left:11%; margin-top: 1em">Auxiliary
+functions:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>_TIFFfree</p></td>
+<td width="62%">
+
+
+<p>free memory buffer</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>_TIFFmalloc</p></td>
+<td width="62%">
+
+
+<p>dynamically allocate memory buffer</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>_TIFFmemcmp</p></td>
+<td width="62%">
+
+
+<p>compare contents of the memory buffers</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>_TIFFmemcpy</p></td>
+<td width="62%">
+
+
+<p>copy contents of the one buffer to another</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>_TIFFmemset</p></td>
+<td width="62%">
+
+
+<p>fill memory buffer with a constant byte</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="27%">
+
+
+<p>_TIFFrealloc</p></td>
+<td width="62%">
+
+
+<p>dynamically reallocate memory buffer</p></td></tr>
+</table>
+
+<h2>TAG USAGE
+<a name="TAG USAGE"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The table below
+lists the <small>TIFF</small> tags that are recognized and
+handled by the library. If no use is indicated in the table,
+then the library reads and writes the tag, but does not use
+it internally. Note that some tags are meaningful only when
+a particular compression scheme is being used; e.g.
+<i>Group3Options</i> is only useful if <i>Compression</i> is
+set to <small>CCITT</small> Group 3 encoding. Tags of this
+sort are considered <i>codec-specific</i> tags and the
+library does not recognize them except when the
+<i>Compression</i> tag has been previously set to the
+relevant compression scheme.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p><i>Tag Name</i></p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><i>Value</i></p></td>
+<td width="45%">
+
+
+<p><i>R/W</i></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p><i>Library Use/Notes</i></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Artist</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>315</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>BadFaxLines</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>326</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>BitsPerSample</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>258</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>lots</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>CellLength</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>265</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>CellWidth</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>264</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>CleanFaxData</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>327</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ColorMap</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>320</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ColorResponseUnit</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>300</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Compression</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>259</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>choosing codec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ConsecutiveBadFaxLines</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>328</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+</table>
+
+<p style="margin-left:11%;">Copyright 33432 R/W</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>DataType</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>32996</p></td>
+<td width="45%">
+
+
+<p>R</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>obsoleted by SampleFormat tag</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>DateTime</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>306</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>DocumentName</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>269</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>DotRange</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>336</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ExtraSamples</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>338</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>lots</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>FaxRecvParams</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>34908</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>FaxSubAddress</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>34909</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>FaxRecvTime</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>34910</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>FillOrder</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>266</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>control bit order</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>FreeByteCounts</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>289</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>FreeOffsets</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>288</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>GrayResponseCurve</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>291</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>GrayResponseUnit</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>290</p></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>parsed but ignored</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Group3Options</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>292</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>used by Group 3 codec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Group4Options</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>293</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>HostComputer</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>316</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ImageDepth</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>32997</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>tile/strip calculations</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ImageDescription</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>270</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ImageLength</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>257</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>lots</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ImageWidth</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>256</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>lots</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>InkNames</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>333</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>InkSet</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>332</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>JPEGTables</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>347</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>used by JPEG codec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Make</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>271</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Matteing</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>32995</p></td>
+<td width="45%">
+
+
+<p>R</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>obsoleted by ExtraSamples tag</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>MaxSampleValue</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>281</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>MinSampleValue</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>280</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Model</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>272</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>NewSubFileType</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>254</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>called SubFileType in spec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>NumberOfInks</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>334</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Orientation</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>274</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>PageName</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>285</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>PageNumber</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>297</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>PhotometricInterpretation</p></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>262</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>R/Wused by Group 3 and JPEG codecs</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>PlanarConfiguration</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>284</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Predictor</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>317</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>used by LZW and Deflate codecs</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>PrimaryChromacities</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>319</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ReferenceBlackWhite</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>532</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>ResolutionUnit</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>296</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>used by Group 3 codec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>RowsPerStrip</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>278</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>SampleFormat</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>339</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>SamplesPerPixel</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>277</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>lots</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>SMinSampleValue</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>340</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>SMaxSampleValue</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>341</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Software</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>305</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>StoNits</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>37439</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>StripByteCounts</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>279</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>StripOffsets</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>273</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>SubFileType</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>255</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>called OSubFileType in spec</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TargetPrinter</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>337</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>Thresholding</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>263</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+</td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TileByteCounts</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>324</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TileDepth</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>32998</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>tile/strip calculations</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TileLength</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>323</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TileOffsets</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>324</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TileWidth</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>322</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>data i/o</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TransferFunction</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>301</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>WhitePoint</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>318</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>XPosition</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>286</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>XResolution</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>282</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>YCbCrCoefficients</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>529</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>used by TIFFRGBAImage support</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>YCbCrPositioning</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>531</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>tile/strip size calculations</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>YCbCrSubsampling</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>530</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>YPosition</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>286</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>YResolution</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>283</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>used by Group 3 codec</p></td></tr>
+</table>
+
+<h2>PSEUDO TAGS
+<a name="PSEUDO TAGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">In addition to
+the normal <small>TIFF</small> tags the library supports a
+collection of tags whose values lie in a range outside the
+valid range of <small>TIFF</small> tags. These tags are
+termed <i>pseudo-tags</i> and are used to control various
+codec-specific functions within the library. The table below
+summarizes the defined pseudo-tags.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p><i>Tag Name</i></p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p><i>Codec</i></p></td>
+<td width="45%">
+
+
+<p><i>R/W</i></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p><i>Library Use/Notes</i></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_FAXMODE</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>G3</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>general codec operation</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_FAXFILLFUNC</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>G3/G4</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>bitmap fill function</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_JPEGQUALITY</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>JPEG</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>compression quality control</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_JPEGCOLORMODE</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>JPEG</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>control colorspace conversions</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_JPEGTABLESMODE</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>JPEG</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>control contents of <i>JPEGTables</i> tag</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_ZIPQUALITY</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>Deflate</p></td>
+<td width="45%">
+
+
+<p>R/Wcompression quality level</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_PIXARLOGDATAFMT</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>PixarLog</p></td>
+<td width="45%">
+
+
+<p>R/Wuser data format</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_PIXARLOGQUALITY</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>PixarLog</p></td>
+<td width="45%">
+
+
+<p>R/Wcompression quality level</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%">
+
+
+<p>TIFFTAG_SGILOGDATAFMT</p></td>
+<td width="11%"></td>
+<td width="7%">
+
+
+<p>SGILog</p></td>
+<td width="45%">
+
+
+<p>R/W</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="26%"></td>
+<td width="11%"></td>
+<td width="7%"></td>
+<td width="45%">
+
+
+<p>user data format</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>TIFFTAG_FAXMODE</b></p>
+
+<p style="margin-left:22%;">Control the operation of the
+Group 3 codec. Possible values (independent bits that can be
+combined by or&rsquo;ing them together) are: FAXMODE_CLASSIC
+(enable old-style format in which the <small>RTC</small> is
+written at the end of the last strip), FAXMODE_NORTC
+(opposite of FAXMODE_CLASSIC; also called FAXMODE_CLASSF),
+FAXMODE_NOEOL (do not write <small>EOL</small> codes at the
+start of each row of data), FAXMODE_BYTEALIGN (align each
+encoded row to an 8-bit boundary), FAXMODE_WORDALIGN (align
+each encoded row to an 16-bit boundary), The default value
+is dependent on the compression scheme; this pseudo-tag is
+used by the various G3 and G4 codecs to share code.</p>
+
+<p style="margin-left:11%;"><b>TIFFTAG_FAXFILLFUNC</b></p>
+
+<p style="margin-left:22%;">Control the function used to
+convert arrays of black and white runs to packed bit arrays.
+This hook can be used to image decoded scanlines in
+multi-bit depth rasters (e.g. for display in colormap mode)
+or for other purposes. The default value is a pointer to a
+builtin function that images packed bilevel data.</p>
+
+
+<p style="margin-left:11%;"><b>TIFFTAG_IPTCNEWSPHOTO</b></p>
+
+<p style="margin-left:22%;">Tag contains image metadata per
+the IPTC newsphoto spec: Headline, captioning, credit,
+etc... Used by most wire services.</p>
+
+<p style="margin-left:11%;"><b>TIFFTAG_PHOTOSHOP</b></p>
+
+<p style="margin-left:22%;">Tag contains Photoshop
+captioning information and metadata. Photoshop uses in
+parallel and redundantly alongside IPTCNEWSPHOTO
+information.</p>
+
+<p style="margin-left:11%;"><b>TIFFTAG_JPEGQUALITY</b></p>
+
+<p style="margin-left:22%;">Control the compression quality
+level used in the baseline algorithm. Note that quality
+levels are in the range 0-100 with a default value of
+75.</p>
+
+
+<p style="margin-left:11%;"><b>TIFFTAG_JPEGCOLORMODE</b></p>
+
+<p style="margin-left:22%;">Control whether or not
+conversion is done between RGB and YCbCr colorspaces.
+Possible values are: JPEGCOLORMODE_RAW (do not convert), and
+JPEGCOLORMODE_RGB (convert to/from RGB) The default value is
+JPEGCOLORMODE_RAW.</p>
+
+
+<p style="margin-left:11%;"><b>TIFFTAG_JPEGTABLESMODE</b></p>
+
+<p style="margin-left:22%;">Control the information written
+in the <i>JPEGTables</i> tag. Possible values (independent
+bits that can be combined by or&rsquo;ing them together)
+are: JPEGTABLESMODE_QUANT (include quantization tables), and
+JPEGTABLESMODE_HUFF (include Huffman encoding tables). The
+default value is
+JPEGTABLESMODE_QUANT|JPEGTABLESMODE_HUFF.</p>
+
+<p style="margin-left:11%;"><b>TIFFTAG_ZIPQUALITY</b></p>
+
+<p style="margin-left:22%;">Control the compression
+technique used by the Deflate codec. Quality levels are in
+the range 1-9 with larger numbers yielding better
+compression at the cost of more computation. The default
+quality level is 6 which yields a good time-space
+tradeoff.</p>
+
+
+<p style="margin-left:11%;"><b>TIFFTAG_PIXARLOGDATAFMT</b></p>
+
+<p style="margin-left:22%;">Control the format of user data
+passed <i>in</i> to the PixarLog codec when encoding and
+passed <i>out</i> from when decoding. Possible values are:
+PIXARLOGDATAFMT_8BIT for 8-bit unsigned pixels,
+PIXARLOGDATAFMT_8BITABGR for 8-bit unsigned ABGR-ordered
+pixels, PIXARLOGDATAFMT_11BITLOG for 11-bit log-encoded raw
+data, PIXARLOGDATAFMT_12BITPICIO for 12-bit PICIO-compatible
+data, PIXARLOGDATAFMT_16BIT for 16-bit signed samples, and
+PIXARLOGDATAFMT_FLOAT for 32-bit IEEE floating point
+samples.</p>
+
+
+<p style="margin-left:11%;"><b>TIFFTAG_PIXARLOGQUALITY</b></p>
+
+<p style="margin-left:22%;">Control the compression
+technique used by the PixarLog codec. This value is treated
+identically to TIFFTAG_ZIPQUALITY; see the above
+description.</p>
+
+
+<p style="margin-left:11%;"><b>TIFFTAG_SGILOGDATAFMT</b></p>
+
+<p style="margin-left:22%;">Control the format of client
+data passed <i>in</i> to the SGILog codec when encoding and
+passed <i>out</i> from when decoding. Possible values are:
+SGILOGDATAFMT_FLTXYZ for converting between LogLuv and
+32-bit IEEE floating valued XYZ pixels,
+SGILOGDATAFMT_16BITLUV for 16-bit encoded Luv pixels,
+SGILOGDATAFMT_32BITRAW and SGILOGDATAFMT_24BITRAW for no
+conversion of data, SGILOGDATAFMT_8BITRGB for returning
+8-bit RGB data (valid only when decoding LogLuv-encoded
+data), SGILOGDATAFMT_FLTY for converting between LogL and
+32-bit IEEE floating valued Y pixels, SGILOGDATAFMT_16BITL
+for 16-bit encoded L pixels, and SGILOGDATAFMT_8BITGRY for
+returning 8-bit greyscale data (valid only when decoding
+LogL-encoded data).</p>
+
+<h2>DIAGNOSTICS
+<a name="DIAGNOSTICS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">All error
+messages are directed through the <i>TIFFError</i> routine.
+By default messages are directed to <b>stderr</b> in the
+form: <i>module: message\n.</i> Warning messages are
+likewise directed through the <i>TIFFWarning</i>
+routine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>fax2tiff</b>(1),
+<b>gif2tiff</b>(1), <b>pal2rgb</b>(1), <b>ppm2tiff</b>(1),
+<b>rgb2ycbcr</b>(1), <b>ras2tiff</b>(1), <b>raw2tiff</b>(1),
+<b>sgi2tiff</b>(1), <b>tiff2bw</b>(1), <b>tiffdither</b>(1),
+<b>tiffdump</b>(1), <b>tiffcp</b>(1), <b>tiffcmp</b>(1),
+<b>tiffgt</b>(1), <b>tiffinfo</b>(1), <b>tiffmedian</b>(1),
+<b>tiffsplit</b>(1), <b>tiffsv</b>(1).</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Tag Image
+File Format Specification &mdash; Revision 6.0</b>, an Aldus
+Technical Memorandum.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>The Spirit
+of TIFF Class F</b>, an appendix to the TIFF 5.0
+specification prepared by Cygnet Technologies.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The library
+does not support multi-sample images where some samples have
+different bits/sample.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The library
+does not support random access to compressed data that is
+organized with more than one row per tile or strip.</p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/pal2rgb.1.html b/doc/static/man/pal2rgb.1.html
new file mode 100644
index 00000000..dee13cd5
--- /dev/null
+++ b/doc/static/man/pal2rgb.1.html
@@ -0,0 +1,168 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>PAL2RGB</title>
+
+</head>
+<body>
+
+<h1 align="center">PAL2RGB</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">pal2rgb &minus;
+convert a palette color <small>TIFF</small> image to a full
+color image</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>
+[ <i>options</i> ] <i>input.tif output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Pal2rgb</i>
+converts a palette color <small>TIFF</small> image to a full
+color image by applying the colormap of the palette image to
+each sample to generate a full color <small>RGB</small>
+image.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Options that
+affect the interpretation of input data are:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;C</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>This option overrides the default behavior of
+<i>pal2rgb</i> in determining whether or not colormap
+entries contain 16-bit or 8-bit values. By default the
+colormap is inspected and if no colormap entry greater than
+255 is found, the colormap is assumed to have only 8-bit
+values; otherwise 16-bit values (as required by the
+<small>TIFF</small> specification) are assumed. The
+<b>&minus;C</b> option can be used to explicitly specify the
+number of bits for colormap entries: <b>&minus;C 8</b> for
+8-bit values, <b>&minus;C 16</b> for 16-bit values.</p></td></tr>
+</table>
+
+<p style="margin-left:11%; margin-top: 1em">Options that
+affect the output file format are:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;p</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Explicitly select the planar
+configuration used in organizing data samples in the output
+image: <b>&minus;p contig</b> for samples packed
+contiguously, and <b>&minus;p separate</b> for samples
+stored separately. By default samples are packed.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Use the specific compression algorithm to encoded image
+data in the output file: <b>&minus;c packbits</b> for
+Macintosh Packbits, <b>&minus;c lzw</b> for Lempel-Ziv &amp;
+Welch, <b>&minus;c zip</b> for Deflate, <b>&minus;c none</b>
+for no compression. If no compression-related option is
+specified, the input file&rsquo;s compression algorithm is
+used.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Explicitly specify the number of rows in each strip of
+the output file. If the <b>&minus;r</b> option is not
+specified, a number is selected such that each output strip
+has approximately 8 kilobytes of data in it.</p></td></tr>
+</table>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Only 8-bit
+images are handled.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffinfo</b>(1),
+<b>tiffcp</b>(1), <b>tiffmedian</b>(1),
+<b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/ppm2tiff.1.html b/doc/static/man/ppm2tiff.1.html
new file mode 100644
index 00000000..9bade75b
--- /dev/null
+++ b/doc/static/man/ppm2tiff.1.html
@@ -0,0 +1,142 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>PPM2TIFF</title>
+
+</head>
+<body>
+
+<h1 align="center">PPM2TIFF</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">ppm2tiff
+&minus; create a <small>TIFF</small> file from <small>PPM,
+PGM</small> and <small>PBM</small> image files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>ppm2tiff</b>
+[ <i>options</i> ] [ <i>input.ppm</i> ]
+<i>output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>ppm2tiff</i>
+converts a file in the <small>PPM, PGM</small> and
+<small>PBM</small> image formats to <small>TIFF.</small> By
+default, the <small>TIFF</small> image is created with data
+samples packed (<i>PlanarConfiguration</i>=1), compressed
+with the Packbits algorithm (<i>Compression</i>=32773), and
+with each strip no more than 8 kilobytes. These
+characteristics can be overridden, or explicitly specified
+with the options described below</p>
+
+<p style="margin-left:11%; margin-top: 1em">If the
+<small>PPM</small> file contains greyscale data, then the
+<i>PhotometricInterpretation</i> tag is set to 1
+(min-is-black), otherwise it is set to 2 (RGB).</p>
+
+<p style="margin-left:11%; margin-top: 1em">If no
+<small>PPM</small> file is specified on the command line,
+<i>ppm2tiff</i> will read from the standard input.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify a compression scheme to
+use when writing image data: <b>none</b> for no compression,
+<b>packbits</b> for PackBits compression (will be used by
+default), <b>lzw</b> for Lempel-Ziv &amp; Welch compression,
+<b>jpeg</b> for baseline JPEG compression, <b>zip</b> for
+Deflate compression, <b>g3</b> for CCITT Group 3 (T.4)
+compression, and <b>g4</b> for CCITT Group 4 (T.6)
+compression.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Write data with a specified number of rows per strip; by
+default the number of rows/strip is selected so that each
+strip is approximately 8 kilobytes.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;R</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Mark the resultant image to have the specified X and Y
+resolution (in dots/inch).</p></td></tr>
+</table>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffinfo</b>(1),
+<b>tiffcp</b>(1), <b>tiffmedian</b>(1),
+<b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/raw2tiff.1.html b/doc/static/man/raw2tiff.1.html
new file mode 100644
index 00000000..7b25602e
--- /dev/null
+++ b/doc/static/man/raw2tiff.1.html
@@ -0,0 +1,487 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>RAW2TIFF</title>
+
+</head>
+<body>
+
+<h1 align="center">RAW2TIFF</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#GUESSING THE IMAGE GEOMETRY">GUESSING THE IMAGE GEOMETRY</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">raw2tiff
+&minus; create a <small>TIFF</small> file from a raw
+data</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>raw2tiff</b>
+[ <i>options</i> ] <i>input.raw output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>raw2tiff</i>
+converts a raw byte sequence into <small>TIFF.</small> By
+default, the <small>TIFF</small> image is created with data
+samples packed (<i>PlanarConfiguration</i>=1), compressed
+with the PackBits algorithm (<i>Compression</i>=32773), and
+with each strip no more than 8 kilobytes. These
+characteristics can overridden, or explicitly specified with
+the options described below.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>&minus;H</b>
+<i>number</i></p>
+
+<p style="margin-left:22%;">size of input image file header
+in bytes (0 by default). This amount of data just will be
+skipped from the start of file while reading.</p>
+
+<p style="margin-left:11%;"><b>&minus;w</b>
+<i>number</i></p>
+
+<p style="margin-left:22%;">width of input image in pixels
+(can be guessed, see <b><small>GUESSING THE IMAGE
+GEOMETRY</small></b> below).</p>
+
+<p style="margin-left:11%;"><b>&minus;l</b>
+<i>number</i></p>
+
+<p style="margin-left:22%;">length of input image in lines
+(can be guessed, see <b><small>GUESSING THE IMAGE
+GEOMETRY</small></b> below).</p>
+
+<p style="margin-left:11%;"><b>&minus;b</b>
+<i>number</i></p>
+
+<p style="margin-left:22%;">number of bands in input image
+(1 by default).</p>
+
+<p style="margin-left:11%;"><b>&minus;d</b>
+<i>data_type</i></p>
+
+<p style="margin-left:22%;">type of samples in input image,
+where <i>data_type</i> may be:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>byte</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>8-bit unsigned integer (default),</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>short</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>16-bit unsigned integer,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>long</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>32-bit unsigned integer,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>sbyte</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>8-bit signed integer,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>sshort</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>16-bit signed integer,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>slong</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>32-bit signed integer,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>float</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>32-bit IEEE floating point,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p><b>double</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-10%"></td>
+<td width="88%">
+
+
+<p>64-bit IEEE floating point.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;i</b>
+<i>config</i></p>
+
+<p style="margin-left:22%;">type of samples interleaving in
+input image, where <i>config</i> may be:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-11%"></td>
+<td width="89%">
+
+
+<p><b>pixel</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-11%"></td>
+<td width="89%">
+
+
+<p>pixel interleaved data (default),</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-11%"></td>
+<td width="89%">
+
+
+<p><b>band</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-11%"></td>
+<td width="89%">
+
+
+<p>band interleaved data.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;p</b>
+<i>photo</i></p>
+
+<p style="margin-left:22%;">photometric interpretation
+(color space) of the input image, where <i>photo</i> may
+be:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>miniswhite</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>white color represented with 0 value,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>minisblack</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>black color represented with 0 value (default),</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>rgb</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>image has RGB color model,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>cmyk</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>image has CMYK (separated) color model,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>ycbcr</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>image has YCbCr color model,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>cielab</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>image has CIE L*a*b color model,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>icclab</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>image has ICC L*a*b color model,</p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p><b>itulab</b></p></td></tr>
+<tr valign="top" align="left">
+<td width="22%"></td>
+<td width="-4%"></td>
+<td width="82%">
+
+
+<p>image has ITU L*a*b color model.</p></td></tr>
+</table>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;s</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>swap bytes fetched from the input file.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;L</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>input data has LSB2MSB bit order (default).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;M</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>input data has MSB2LSB bit order.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify a compression scheme to use when writing image
+data: <b>&minus;c none</b> for no compression, <b>&minus;c
+packbits</b> for the PackBits compression algorithm (the
+default), <b>&minus;c jpeg</b> for the baseline JPEG
+compression algorithm, <b>&minus;c zip</b> for the Deflate
+compression algorithm, and <b>&minus;c lzw</b> for
+Lempel-Ziv &amp; Welch.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;r</b>
+<i>number</i></p>
+
+<p style="margin-left:22%;">Write data with a specified
+number of rows per strip; by default the number of
+rows/strip is selected so that each strip is approximately 8
+kilobytes.</p>
+
+<h2>GUESSING THE IMAGE GEOMETRY
+<a name="GUESSING THE IMAGE GEOMETRY"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>raw2tiff</i>
+can guess image width and height in case one or both of
+these parameters are not specified. If you omit one of those
+parameters, the complementary one will be calculated based
+on the file size (taking into account header size, number of
+bands and data type). If you omit both parameters, the
+statistical approach will be used. Utility will compute
+correlation coefficient between two lines at the image
+center using several appropriate line sizes and the highest
+absolute value of the coefficient will indicate the right
+line size. That is why you should be cautious with the very
+large images, because guessing process may take a while
+(depending on your system performance). Of course, the
+utility can&rsquo;t guess the header size, number of bands
+and data type, so it should be specified manually. If you
+don&rsquo;t know anything about your image, just try with
+the several combinations of those options.</p>
+
+<p style="margin-left:11%; margin-top: 1em">There is no
+magic, it is just a mathematical statistics, so it can be
+wrong in some cases. But for most ordinary images guessing
+method will work fine.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1), <b>tiffmedian</b>(1),
+<b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/html/man/rgb2ycbcr.1.html b/doc/static/man/rgb2ycbcr.1.html
index 6e481f79..6e481f79 100644
--- a/html/man/rgb2ycbcr.1.html
+++ b/doc/static/man/rgb2ycbcr.1.html
diff --git a/html/man/thumbnail.1.html b/doc/static/man/thumbnail.1.html
index 8b114137..8b114137 100644
--- a/html/man/thumbnail.1.html
+++ b/doc/static/man/thumbnail.1.html
diff --git a/doc/static/man/tiff2bw.1.html b/doc/static/man/tiff2bw.1.html
new file mode 100644
index 00000000..b8c3558d
--- /dev/null
+++ b/doc/static/man/tiff2bw.1.html
@@ -0,0 +1,153 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFF2BW</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFF2BW</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiff2bw &minus;
+convert a color <small>TIFF</small> image to greyscale</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiff2bw</b>
+[ <i>options</i> ] <i>input.tif output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiff2bw</i>
+converts an <small>RGB</small> or Palette color
+<small>TIFF</small> image to a greyscale image by combining
+percentages of the red, green, and blue channels. By
+default, output samples are created by taking 28% of the red
+channel, 59% of the green channel, and 11% of the blue
+channel. To alter these percentages, the <b>&minus;R</b>,
+<b>&minus;G</b>, and <b>&minus;B</b> options may be
+used.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify a compression scheme to
+use when writing image data: <b>&minus;c none</b> for no
+compression, <b>&minus;c packbits</b> for the PackBits
+compression algorithm, <b>&minus;c zip</b> for the Deflate
+compression algorithm, <b>&minus;c g3</b> for the CCITT
+Group 3 compression algorithm, <b>&minus;c g4</b> for the
+CCITT Group 4 compression algorithm, and <b>&minus;c lzw</b>
+for Lempel-Ziv &amp; Welch (the default).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Write data with a specified number of rows per strip; by
+default the number of rows/strip is selected so that each
+strip is approximately 8 kilobytes.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;R</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the percentage of the red channel to use
+(default 28).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;G</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the percentage of the green channel to use
+(default 59).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;B</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the percentage of the blue channel to use
+(default 11).</p></td></tr>
+</table>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1), <b>tiffmedian</b>(1),
+<b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiff2pdf.1.html b/doc/static/man/tiff2pdf.1.html
new file mode 100644
index 00000000..f0a056a2
--- /dev/null
+++ b/doc/static/man/tiff2pdf.1.html
@@ -0,0 +1,419 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFF2PDF</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFF2PDF</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#EXAMPLES">EXAMPLES</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiff2pdf
+&minus; convert a TIFF image to a PDF document</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiff2pdf</b>
+[ <i>options</i> ] <i>input.tiff</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiff2pdf</i>
+opens a TIFF image and writes a PDF document to standard
+output.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The program
+converts one TIFF file to one PDF file, including multiple
+page TIFF files, tiled TIFF files, black and white.
+grayscale, and color TIFF files that contain data of TIFF
+photometric interpretations of bilevel, grayscale, RGB,
+YCbCr, CMYK separation, and ICC L*a*b* as supported by
+<i>libtiff</i> and PDF.</p>
+
+<p style="margin-left:11%; margin-top: 1em">If you have
+multiple TIFF files to convert into one PDF file then use
+<i>tiffcp</i> or other program to concatenate the files into
+a multiple page TIFF file. If the input TIFF file is of huge
+dimensions (greater than 10000 pixels height or width)
+convert the input image to a tiled TIFF if it is not
+already.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The standard
+output is standard output. Set the output file name with the
+<b>&minus;o</b> <i>output.pdf</i> option.</p>
+
+<p style="margin-left:11%; margin-top: 1em">All black and
+white files are compressed into a single strip CCITT G4 Fax
+compressed PDF, unless tiled, where tiled black and white
+images are compressed into tiled CCITT G4 Fax compressed
+PDF, <i>libtiff</i> CCITT support is assumed.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Color and
+grayscale data can be compressed using either JPEG
+compression, ITU-T T.81, or Zip/Deflate LZ77 compression.
+Set the compression type using the <b>&minus;j</b> or
+<b>&minus;z</b> options. JPEG compression support requires
+that <i>libtiff</i> be configured with JPEG support, and
+Zip/Deflate compression support requires that <i>libtiff</i>
+be configured with Zip support, in tiffconf.h. Use only one
+or the other of <b>&minus;j</b> and <b>&minus;z.</b></p>
+
+<p style="margin-left:11%; margin-top: 1em">If the input
+TIFF contains single strip CCITT G4 Fax compressed
+information, then that is written to the PDF file without
+transcoding, unless the options of no compression and no
+passthrough are set, <b>&minus;d</b> and
+<b>&minus;n.</b></p>
+
+<p style="margin-left:11%; margin-top: 1em">If the input
+TIFF contains JPEG or single strip Zip/Deflate compressed
+information, and they are configured, then that is written
+to the PDF file without transcoding, unless the options of
+no compression and no passthrough are set.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The default
+page size upon which the TIFF image is placed is determined
+by the resolution and extent of the image data. Default
+values for the TIFF image resolution can be set using the
+<b>&minus;x</b> and <b>&minus;y</b> options. The page size
+can be set using the <b>&minus;p</b> option for paper size,
+or <b>&minus;w</b> and <b>&minus;l</b> for paper width and
+length, then each page of the TIFF image is centered on its
+page. The distance unit for default resolution and page
+width and length can be set by the <b>&minus;u</b> option,
+the default unit is inch.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Various items
+of the output document information can be set with the
+<b>&minus;e</b>, <b>&minus;c</b>, <b>&minus;a</b>,
+<b>&minus;t</b>, <b>&minus;s</b>, and <b>&minus;k</b>
+options. Setting the argument of the option to &quot;&quot;
+for these tags causes the relevant document information
+field to be not written. Some of the document information
+values otherwise get their information from the input TIFF
+image, the software, author, document name, and image
+description.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The Portable
+Document Format (PDF) specification is copyrighted by Adobe
+Systems, Incorporated.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>&minus;o</b>
+<i>output-file</i></p>
+
+<p style="margin-left:22%;">Set the output to go to file.
+<i>output-file</i></p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;j</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Compress with JPEG (requires <i>libjpeg</i> configured
+with <i>libtiff</i>).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;z</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Compress with Zip/Deflate (requires <i>zlib</i>
+configured with <i>libtiff</i>).</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;q</b>
+<i>quality</i></p>
+
+<p style="margin-left:22%;">Set the compression quality,
+1-100 for JPEG.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;n</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Do not allow data to be converted without uncompressing,
+no compressed data passthrough.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;b</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Set PDF &lsquo;&lsquo;Interpolate&rsquo;&rsquo; user
+preference.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;d</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Do not compress (decompress).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;i</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Invert colors.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;p</b>
+<i>paper-size</i></p>
+
+<p style="margin-left:22%;">Set paper size, e.g.,
+<b>letter</b>, <b>legal</b>, <b>A4</b>.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;F</b></p></td>
+<td width="8%"></td>
+<td width="55%">
+
+
+<p>Cause the tiff to fill the PDF page.</p></td>
+<td width="23%">
+</td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;u</b>
+[<b>i</b>|<b>m</b>]</p>
+
+<p style="margin-left:22%;">Set distance unit, <b>i</b> for
+inch, <b>m</b> for centimeter.</p>
+
+<p style="margin-left:11%;"><b>&minus;w</b>
+<i>width</i></p>
+
+<p style="margin-left:22%;">Set width in units.</p>
+
+<p style="margin-left:11%;"><b>&minus;l</b>
+<i>length</i></p>
+
+<p style="margin-left:22%;">Set length in units.</p>
+
+<p style="margin-left:11%;"><b>&minus;x</b> <i>xres</i></p>
+
+<p style="margin-left:22%;">Set x/width resolution
+default.</p>
+
+<p style="margin-left:11%;"><b>&minus;y</b> <i>yres</i></p>
+
+<p style="margin-left:22%;">Set y/length resolution
+default.</p>
+
+<p style="margin-left:11%;"><b>&minus;r</b>
+[<b>d</b>|<b>o</b>]</p>
+
+<p style="margin-left:22%;">Set <b>d</b> for resolution
+default for images without resolution, <b>o</b> for
+resolution override for all images.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;f</b></p></td>
+<td width="8%"></td>
+<td width="60%">
+
+
+<p>Set PDF &lsquo;&lsquo;Fit Window&rsquo;&rsquo; user
+preference.</p> </td>
+<td width="18%">
+</td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;e</b>
+<i>YYYYMMDDHHMMSS</i></p>
+
+<p style="margin-left:22%;">Set document information date,
+overrides image or current date/time default,
+<i>YYYYMMDDHHMMSS.</i></p>
+
+<p style="margin-left:11%;"><b>&minus;c</b>
+<i>creator</i></p>
+
+<p style="margin-left:22%;">Set document information
+creator, overrides image software default.</p>
+
+<p style="margin-left:11%;"><b>&minus;a</b>
+<i>author</i></p>
+
+<p style="margin-left:22%;">Set document information
+author, overrides image artist default.</p>
+
+<p style="margin-left:11%;"><b>&minus;t</b>
+<i>title</i></p>
+
+<p style="margin-left:22%;">Set document information title,
+overrides image document name default.</p>
+
+<p style="margin-left:11%;"><b>&minus;s</b>
+<i>subject</i></p>
+
+<p style="margin-left:22%;">Set document information
+subject, overrides image image description default.</p>
+
+<p style="margin-left:11%;"><b>&minus;k</b>
+<i>keywords</i></p>
+
+<p style="margin-left:22%;">Set document information
+keywords.</p>
+
+<p style="margin-left:11%;"><b>&minus;m</b> <i>size</i></p>
+
+<p style="margin-left:22%;">Set memory allocation limit (in
+MiB). Default is 256MiB. Set to 0 to disable the limit.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;h</b></p></td>
+<td width="8%"></td>
+<td width="60%">
+
+
+<p>List usage reminder to stderr and exit.</p></td>
+<td width="18%">
+</td></tr>
+</table>
+
+<h2>EXAMPLES
+<a name="EXAMPLES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+example would generate the file output.pdf from <br>
+input.tiff.</p>
+
+<p style="margin-left:22%;">tiff2pdf &minus;o output.pdf
+input.tiff</p>
+
+<p style="margin-left:11%; margin-top: 1em">The following
+example would generate PDF output from input.tiff and write
+it to standard output.</p>
+
+<p style="margin-left:22%;">tiff2pdf input.tiff</p>
+
+<p style="margin-left:11%; margin-top: 1em">The following
+example would generate the file output.pdf from input.tiff,
+putting the image pages on a letter sized page, compressing
+the output with JPEG, with JPEG quality 75, setting the
+title to &lsquo;&lsquo;Document&rsquo;&rsquo;, and setting
+the &lsquo;&lsquo;Fit Window&rsquo;&rsquo; option.</p>
+
+<p style="margin-left:22%;">tiff2pdf &minus;p letter
+&minus;j &minus;q 75 &minus;t &quot;Document&quot; &minus;f
+&minus;o output.pdf input.tiff</p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Please report
+bugs via the web interface at</p>
+
+
+<p style="margin-left:22%; margin-top: 1em">http://bugzilla.remotesensing.org/enter_bug.cgi?product=libtiff</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>libtiff</b>(3),
+<b>tiffcp</b>(1), <b>tiff2ps</b>(1)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiff2ps.1.html b/doc/static/man/tiff2ps.1.html
new file mode 100644
index 00000000..d480a0ad
--- /dev/null
+++ b/doc/static/man/tiff2ps.1.html
@@ -0,0 +1,544 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:28 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFF2PS</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFF2PS</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#EXAMPLES">EXAMPLES</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiff2ps &minus;
+convert a <small>TIFF</small> image to PostScript&trade;</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiff2ps</b>
+[ <i>options</i> ] <i>input.tif ...</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiff2ps</i>
+reads <small>TIFF</small> images and writes PostScript or
+Encapsulated PostScript (EPS) on the standard output. By
+default, <i>tiff2ps</i> writes Encapsulated PostScript for
+the first image in the specified <small>TIFF</small> image
+file.</p>
+
+<p style="margin-left:11%; margin-top: 1em">By default,
+<i>tiff2ps</i> will generate PostScript that fills a printed
+area specified by the <small>TIFF</small> tags in the input
+file. If the file does not contain <i>XResolution</i> or
+<i>YResolution</i> tags, then the printed area is set
+according to the image dimensions. The <b>&minus;w</b> and
+<b>&minus;h</b> options (see below) can be used to set the
+dimensions of the printed area in inches; overriding any
+relevant <small>TIFF</small> tags.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The PostScript
+generated for <small>RGB,</small> palette, and
+<small>CMYK</small> images uses the <i>colorimage</i>
+operator. The PostScript generated for greyscale and bilevel
+images uses the <i>image</i> operator. When the
+<i>colorimage</i> operator is used, PostScript code to
+emulate this operator on older PostScript printers is also
+generated. Note that this emulation code can be very
+slow.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Color images
+with associated alpha data are composited over a white
+background.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;1</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Generate PostScript Level 1 (the
+default).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;2</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Generate PostScript Level 2.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;3</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Generate PostScript Level 3. It basically allows one to
+use the /flateDecode filter for ZIP compressed TIFF
+images.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;8</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Disable use of ASCII85 encoding with PostScript Level
+2/3.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;a</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Generate output for all IFDs (pages) in the input
+file.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;b</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the bottom margin for the output (in inches).
+This does not affect the height of the printed image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Center the image in the output. This option only shows
+an effect if both the <b>&minus;w</b> and the
+<b>&minus;h</b> option are given.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;C</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the document creator name.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;d</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Set the initial <small>TIFF</small> directory to the
+specified directory number. (NB: Directories are numbered
+starting at zero.) This option is useful for selecting
+individual pages in a multi-page (e.g. facsimile) file.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;D</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Enable duplex printing (two pages per sheet of
+paper).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;e</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the generation of Encapsulated PostScript (implies
+<b>&minus;z</b>).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;h</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the vertical size of the printed area (in
+inches).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;H</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the maximum height of image (in inches). Images
+with larger sizes will be split in several pages. Option
+<b>&minus;L</b> may be used for specifying size of split
+images overlapping. <b>&minus;i</b> Enable/disable pixel
+interpolation. This option requires a single numeric value:
+zero to disable pixel interpolation and non-zero to enable.
+The default is enabled.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;L</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the size of overlapping for split images (in
+inches). Used in conjunction with <b>&minus;H</b> and
+<b>&minus;W</b> options.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;l</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the left margin for the output (in inches). This
+does not affect the width of the printed image.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;M</b> <i>size</i></p>
+
+<p style="margin-left:22%;">Set maximum memory allocation
+size (in MiB). The default is 256MiB. Set to 0 to disable
+the limit.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>&minus;m</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Where possible render using the <i>imagemask</i>
+PostScript operator instead of the <i>image</i> operator.
+When this option is specified <i>tiff2ps</i> will use
+<i>imagemask</i> for rendering 1 bit deep images. If this
+option is not specified or if the image depth is greater
+than 1 then the <i>image</i> operator is used.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>&minus;o</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Set the initial <small>TIFF</small> directory to the
+<small>IFD</small> at the specified file offset. This option
+is useful for selecting thumbnail images and the like which
+are hidden using the <i>SubIFD</i> tag.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>&minus;O</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Write PostScript to specified file instead of standard
+output.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>&minus;p</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Force the generation of (non-Encapsulated)
+PostScript.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>&minus;P L|P</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Set optional PageOrientation DSC comment to Landscape or
+Portrait.</p> </td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;r
+90|180|270|auto</b></p>
+
+<p style="margin-left:22%;">Rotate image by 90, 180, 270
+degrees or auto. Auto picks the best fit for the image on
+the specified paper size (eg portrait or landscape) if -h or
+-w is specified. Rotation is in degrees counterclockwise.
+Auto rotates 90 degrees ccw to produce landscape.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;s</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Generate output for a single IFD (page) in the input
+file.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;t</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the document title string.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;T</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Print pages for top edge binding.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;w</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the horizontal size of the printed area (in
+inches).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;W</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the maximum width of image (in inches). Images
+with larger sizes will be split in several pages. Options
+<b>&minus;L</b> and <b>&minus;W</b> are mutually
+exclusive.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;x</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Override resolution units specified in the TIFF as
+centimeters.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;y</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Override resolution units specified in the TIFF as
+inches.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;z</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>When generating PostScript Level 2, data is scaled so
+that it does not image into the <i>deadzone</i> on a page
+(the outer margin that the printing device is unable to
+mark). This option suppresses this behavior. When PostScript
+Level 1 is generated, data is imaged to the entire printed
+page and this option has no affect.</p></td></tr>
+</table>
+
+<h2>EXAMPLES
+<a name="EXAMPLES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+generates PostScript Level 2 for all pages of a
+facsimile:</p>
+
+<p style="margin-left:22%;">tiff2ps &minus;a2 fax.tif |
+lpr</p>
+
+<p style="margin-left:11%;">Note also that if you have
+version 2.6.1 or newer of Ghostscript then you can
+efficiently preview facsimile generated with the above
+command.</p>
+
+<p style="margin-left:11%; margin-top: 1em">To generate
+Encapsulated PostScript for a the image at directory 2 of an
+image use:</p>
+
+<p style="margin-left:22%;">tiff2ps &minus;d 1 foo.tif</p>
+
+<p style="margin-left:11%;">(Notice that directories are
+numbered starting at zero.)</p>
+
+<p style="margin-left:11%; margin-top: 1em">If you have a
+long image, it may be split in several pages:</p>
+
+<p style="margin-left:22%;">tiff2ps &minus;h11 &minus;w8.5
+&minus;H14 &minus;L.5 foo.tif &gt; foo.ps</p>
+
+<p style="margin-left:11%;">The page size is set to 8.5x11
+by <b>&minus;w</b> and <b>&minus;h</b> options. We will
+accept a small amount of vertical compression, so
+<b>&minus;H</b> set to 14. Any pages between 11 and 14
+inches will be fit onto one page. Pages longer than 14
+inches are cut off at 11 and continued on the next page. The
+<b>&minus;L.5</b> option says to repeat a half inch on the
+next page (to improve readability).</p>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Because
+PostScript does not support the notion of a colormap, 8-bit
+palette images produce 24-bit PostScript images. This
+conversion results in output that is six times bigger than
+the original image and which takes a long time to send to a
+printer over a serial line. Matters are even worse for 4-,
+2-, and 1-bit palette images.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Does not handle
+tiled images when generating PostScript Level I output.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1), <b>tiffgt</b>(1),
+<b>tiffmedian</b>(1), <b>tiff2bw</b>(1), <b>tiffsv</b>(1),
+<b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiff2rgba.1.html b/doc/static/man/tiff2rgba.1.html
new file mode 100644
index 00000000..a5cd1d23
--- /dev/null
+++ b/doc/static/man/tiff2rgba.1.html
@@ -0,0 +1,165 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFF2RGBA</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFF2RGBA</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiff2rgba
+&minus; convert a <small>TIFF</small> image to RGBA color
+space</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiff2rgba</b>
+[ <i>options</i> ] <i>input.tif output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiff2rgba</i>
+converts a wide variety of TIFF images into an RGBA TIFF
+image. This includes the ability to translate different
+color spaces and photometric interpretation into RGBA,
+support for alpha blending, and translation of many
+different bit depths into a 32bit RGBA image.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Internally this
+program is implemented using the <i>TIFFReadRGBAImage()</i>
+function, and it suffers any limitations of that image. This
+includes limited support for &gt; 8 BitsPerSample images,
+and flaws with some esoteric combinations of BitsPerSample,
+photometric interpretation, block organization and planar
+configuration.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The generated
+images are stripped images with four samples per pixel (red,
+green, blue and alpha) or if the <b>&minus;n</b> flag is
+used, three samples per pixel (red, green, and blue). The
+resulting images are always planar configuration contiguous.
+For this reason, this program is a useful utility for
+transform exotic TIFF files into a form ingestible by almost
+any TIFF supporting software.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify a compression scheme to
+use when writing image data: <b>&minus;c none</b> for no
+compression (the default), <b>&minus;c packbits</b> for the
+PackBits compression algorithm, <b>&minus;c zip</b> for the
+Deflate compression algorithm, <b>&minus;c jpeg</b> for the
+JPEG compression algorithm, and <b>&minus;c lzw</b> for
+Lempel-Ziv &amp; Welch.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Write data with a specified number of rows per strip; by
+default the number of rows/strip is selected so that each
+strip is approximately 8 kilobytes.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;b</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Process the image one block (strip/tile) at a time
+instead of by reading the whole image into memory at once.
+This may be necessary for very large images on systems with
+limited RAM.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;n</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Drop the alpha component from the output file, producing
+a pure RGB file. Currently this does not work if the
+<b>&minus;b</b> flag is also in effect.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;M</b> <i>size</i></p>
+
+<p style="margin-left:22%;">Set maximum memory allocation
+size (in MiB). The default is 256MiB. Set to 0 to disable
+the limit.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiff2bw</b>(1),
+<b>TIFFReadRGBAImage</b>(3t), <b>libtiff</b>(3)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffcmp.1.html b/doc/static/man/tiffcmp.1.html
new file mode 100644
index 00000000..419a6f94
--- /dev/null
+++ b/doc/static/man/tiffcmp.1.html
@@ -0,0 +1,144 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFCMP</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFCMP</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffcmp &minus;
+compare two <small>TIFF</small> files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffcmp</b>
+[ <i>options</i> ] <i>file1.tif file2.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiffcmp</i>
+compares the tags and data in two files created according to
+the Tagged Image File Format, Revision 6.0. The schemes used
+for compressing data in each file are immaterial when data
+are compared&minus;data are compared on a
+scanline-by-scanline basis after decompression. Most
+directory tags are checked; notable exceptions are:
+<i>GrayResponseCurve</i>, <i>ColorResponseCurve</i>, and
+<i>ColorMap</i> tags. Data will not be compared if any of
+the <i>BitsPerSample</i>, <i>SamplesPerPixel</i>, or
+<i>ImageWidth</i> values are not equal. By default,
+<i>tiffcmp</i> will terminate if it encounters any
+difference.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;l</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">List each byte of image data
+that differs between the files.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;z</b>
+<i>number</i></p>
+
+<p style="margin-left:22%;">List specified number of image
+data bytes that differs between the files.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;t</b></p></td>
+<td width="8%"></td>
+<td width="63%">
+
+
+<p>Ignore any differences in directory tags.</p></td>
+<td width="15%">
+</td></tr>
+</table>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Tags that are
+not recognized by the library are not compared; they may
+also generate spurious diagnostics.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The image data
+of tiled files is not compared, since the
+<i>TIFFReadScanline()</i> function is used. An error will be
+reported for tiled files.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The pixel
+and/or sample number reported in differences may be off in
+some exotic cases.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1), <b>tiffmedian</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffcp.1.html b/doc/static/man/tiffcp.1.html
new file mode 100644
index 00000000..fa036cb4
--- /dev/null
+++ b/doc/static/man/tiffcp.1.html
@@ -0,0 +1,474 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFCP</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFCP</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#EXAMPLES">EXAMPLES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffcp &minus;
+copy (and possibly convert) a <small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffcp</b> [
+<i>options</i> ] <i>src1.tif ... srcN.tif dst.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffcp</i>
+combines one or more files created according to the Tag
+Image File Format, Revision 6.0 into a single
+<small>TIFF</small> file. Because the output file may be
+compressed using a different algorithm than the input files,
+<i>tiffcp</i> is most often used to convert between
+different compression schemes.</p>
+
+<p style="margin-left:11%; margin-top: 1em">By default,
+<i>tiffcp</i> will copy all the understood tags in a
+<small>TIFF</small> directory of an input file to the
+associated directory in the output file.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffcp</i>
+can be used to reorganize the storage characteristics of
+data in a file, but it is explicitly intended to not alter
+or convert the image data content in any way.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;a</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Append to an existing output
+file instead of overwriting it.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;b</b>
+<i>image</i></p>
+
+<p style="margin-left:22%;">subtract the following
+monochrome image from all others processed. This can be used
+to remove a noise bias from a set of images. This bias image
+is typically an image of noise the camera saw with its
+shutter closed.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;B</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force output to be written with Big-Endian byte order.
+This option only has an effect when the output file is
+created or overwritten and not when it is appended to.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;C</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Suppress the use of &lsquo;&lsquo;strip
+chopping&rsquo;&rsquo; when reading images that have a
+single strip/tile of uncompressed data.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the compression to use for data written to the
+output file: <b>none</b> for no compression, <b>packbits</b>
+for PackBits compression, <b>lzw</b> for Lempel-Ziv &amp;
+Welch compression, <b>zip</b> for Deflate compression,
+<b>lzma</b> for LZMA2 compression, <b>jpeg</b> for baseline
+JPEG compression, <b>g3</b> for CCITT Group 3 (T.4)
+compression, <b>g4</b> for CCITT Group 4 (T.6) compression,
+or <b>sgilog</b> for SGILOG compression. By default
+<i>tiffcp</i> will compress data according to the value of
+the <i>Compression</i> tag found in the source file.</p></td></tr>
+</table>
+
+<p style="margin-left:22%; margin-top: 1em">The
+<small>CCITT</small> Group 3 and Group 4 compression
+algorithms can only be used with bilevel data.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Group 3
+compression can be specified together with several
+T.4-specific options: <b>1d</b> for 1-dimensional encoding,
+<b>2d</b> for 2-dimensional encoding, and <b>fill</b> to
+force each encoded scanline to be zero-filled so that the
+terminating EOL code lies on a byte boundary. Group
+3-specific options are specified by appending a
+&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
+&lsquo;&lsquo;g3&rsquo;&rsquo; option; e.g. <b>&minus;c
+g3:2d:fill</b> to get 2D-encoded data with byte-aligned EOL
+codes.</p>
+
+<p style="margin-left:22%; margin-top: 1em"><small>LZW,
+Deflate</small> and <small>LZMA2</small> compression can be
+specified together with a <i>predictor</i> value. A
+predictor value of 2 causes each scanline of the output
+image to undergo horizontal differencing before it is
+encoded; a value of 1 forces each scanline to be encoded
+without differencing. A value 3 is for floating point
+predictor which you can use if the encoded data are in
+floating point format. LZW-specific options are specified by
+appending a &lsquo;&lsquo;:&rsquo;&rsquo;-separated list to
+the &lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
+lzw:2</b> for <small>LZW</small> compression with horizontal
+differencing.</p>
+
+
+<p style="margin-left:22%; margin-top: 1em"><small>Deflate</small>
+and <small>LZMA2</small> encoders support various
+compression levels (or encoder presets) set as character
+&lsquo;&lsquo;p&rsquo;&rsquo; and a preset number.
+&lsquo;&lsquo;p1&rsquo;&rsquo; is the fastest one with the
+worst compression ratio and &lsquo;&lsquo;p9&rsquo;&rsquo;
+is the slowest but with the best possible ratio; e.g.
+<b>&minus;c zip:3:p9</b> for <small>Deflate</small> encoding
+with maximum compression level and floating point
+predictor.</p>
+
+<p style="margin-left:22%; margin-top: 1em">For the
+<small>Deflate</small> codec, and in a libtiff build with
+libdeflate enabled, &lsquo;&lsquo;p12&lsquo;&lsquo; is
+actually the maximum level.</p>
+
+<p style="margin-left:22%; margin-top: 1em">For the
+<small>Deflate</small> codec, and in a libtiff build with
+libdeflate enabled, &lsquo;&lsquo;s0&lsquo;&lsquo; can be
+used to require zlib to be used, and
+&lsquo;&lsquo;s1&lsquo;&lsquo; for libdeflate (defaults to
+libdeflate when it is available).</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;f</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify the bit fill order to
+use in writing output data. By default, <i>tiffcp</i> will
+create a new file with the same fill order as the original.
+Specifying <b>&minus;f lsb2msb</b> will force data to be
+written with the FillOrder tag set to
+<small>LSB2MSB,</small> while <b>&minus;f msb2lsb</b> will
+force data to be written with the FillOrder tag set to
+<small>MSB2LSB.</small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;i</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Ignore non-fatal read errors and continue processing of
+the input file.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;l</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the length of a tile (in pixels). <i>tiffcp</i>
+attempts to set the tile dimensions so that no more than 8
+kilobytes of data appear in a tile.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;L</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force output to be written with Little-Endian byte
+order. This option only has an effect when the output file
+is created or overwritten and not when it is appended
+to.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;M</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Suppress the use of memory-mapped files when reading
+images.</p> </td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;o</b>
+<i>offset</i></p>
+
+<p style="margin-left:22%;">Set initial directory
+offset.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;p</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the planar configuration to use in writing image
+data that has one 8-bit sample per pixel. By default,
+<i>tiffcp</i> will create a new file with the same planar
+configuration as the original. Specifying <b>&minus;p
+contig</b> will force data to be written with multi-sample
+data packed together, while <b>&minus;p separate</b> will
+force samples to be written in separate planes.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the number of rows (scanlines) in each strip of
+data written to the output file. By default (or when value
+<b>0</b> is specified), <i>tiffcp</i> attempts to set the
+rows/strip that no more than 8 kilobytes of data appear in a
+strip. If you specify special value <b>&minus;1</b> it will
+results in infinite number of the rows per strip. The entire
+image will be the one strip in that case.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;s</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the output file to be written with data organized
+in strips (rather than tiles).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;t</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the output file to be written with data organized
+in tiles (rather than strips). options can be used to force
+the resultant image to be written as strips or tiles of
+data, respectively.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;w</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the width of a tile (in pixels). <i>tiffcp</i>
+attempts to set the tile dimensions so that no more than 8
+kilobytes of data appear in a tile. <i>tiffcp</i> attempts
+to set the tile dimensions so that no more than 8 kilobytes
+of data appear in a tile.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;x</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the output file to be written with PAGENUMBER
+value in sequence.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;8</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Write BigTIFF instead of classic TIFF format.</p></td></tr>
+</table>
+
+
+<p style="margin-left:11%;"><b>&minus;,=</b><i>character</i></p>
+
+<p style="margin-left:22%;">substitute <i>character</i> for
+&lsquo;,&rsquo; in parsing image directory indices in files.
+This is necessary if filenames contain commas. Note that
+<b>&minus;,=</b> with whitespace immediately following will
+disable the special meaning of the &lsquo;,&rsquo; entirely.
+See examples.</p>
+
+<p style="margin-left:11%;"><b>&minus;m</b> <i>size</i></p>
+
+<p style="margin-left:22%;">Set maximum memory allocation
+size (in MiB). The default is 256MiB. Set to 0 to disable
+the limit.</p>
+
+<h2>EXAMPLES
+<a name="EXAMPLES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+concatenates two files and writes the result using
+<small>LZW</small> encoding:</p>
+
+<p style="margin-left:22%;">tiffcp &minus;c lzw a.tif b.tif
+result.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">To convert a G3
+1d-encoded <small>TIFF</small> to a single strip of
+G4-encoded data the following might be used:</p>
+
+<p style="margin-left:22%;">tiffcp &minus;c g4 &minus;r
+10000 g3.tif g4.tif</p>
+
+<p style="margin-left:11%;">(1000 is just a number that is
+larger than the number of rows in the source file.)</p>
+
+<p style="margin-left:11%; margin-top: 1em">To extract a
+selected set of images from a multi-image TIFF file, the
+file name may be immediately followed by a &lsquo;,&rsquo;
+separated list of image directory indices. The first image
+is always in directory 0. Thus, to copy the 1st and 3rd
+images of image file &lsquo;&lsquo;album.tif&rsquo;&rsquo;
+to &lsquo;&lsquo;result.tif&rsquo;&rsquo;:</p>
+
+<p style="margin-left:22%;">tiffcp album.tif,0,2
+result.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">A trailing
+comma denotes remaining images in sequence. The following
+command will copy all image with except the first one:</p>
+
+<p style="margin-left:22%;">tiffcp album.tif,1,
+result.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">Given file
+&lsquo;&lsquo;CCD.tif&rsquo;&rsquo; whose first image is a
+noise bias followed by images which include that bias,
+subtract the noise from all those images following it (while
+decompressing) with the command:</p>
+
+<p style="margin-left:22%;">tiffcp &minus;c none &minus;b
+CCD.tif CCD.tif,1, result.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">If the file
+above were named &lsquo;&lsquo;CCD,X.tif&rsquo;&rsquo;, the
+<b>&minus;,=</b> option would be required to correctly parse
+this filename with image numbers, as follows:</p>
+
+<p style="margin-left:22%;">tiffcp &minus;c none &minus;,=%
+&minus;b CCD,X.tif CCD,X%1%.tif result.tif</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcmp</b>(1), <b>tiffmedian</b>(1),
+<b>tiffsplit</b>(1), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffcrop.1.html b/doc/static/man/tiffcrop.1.html
new file mode 100644
index 00000000..1007c0bb
--- /dev/null
+++ b/doc/static/man/tiffcrop.1.html
@@ -0,0 +1,868 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFCROP</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFCROP</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#EXAMPLES">EXAMPLES</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffcrop
+&minus; select, copy, crop, convert, extract, and/or process
+one or more <small>TIFF</small> files.</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffcrop</b>
+[ <i>options</i> ] <i>src1.tif ... srcN.tif dst.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiffcrop</i>
+processes one or more files created according to the Tag
+Image File Format, Revision 6.0, specification into one or
+more <small>TIFF</small> file(s). <i>Tiffcrop</i> is most
+often used to extract portions of an image for processing
+with bar code recognizer or OCR software when that software
+cannot restrict the region of interest to a specific portion
+of the image or to improve efficiency when the regions of
+interest must be rotated. It can also be used to subdivide
+all or part of a processed image into smaller sections and
+export individual images or sections of images as separate
+files or separate images within one or more files derived
+from the original input image or images.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The available
+functions can be grouped broadly into three classes:</p>
+
+<p style="margin-left:22%; margin-top: 1em">Those that
+select individual images or sections of images from the
+input files. The options &minus;N for sequences or lists of
+individual images in the input files, &minus;Z for zones,
+&minus;z for regions, &minus;X and &minus;Y for fixed sized
+selections, &minus;m for margins, &minus;U for units, and
+&minus;E for edge reference provide a variety of ways to
+specify portions of the input image.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Those that
+allow the individual images or selections to be exported to
+one or more output files in different groupings and control
+the organization of the data in the output images. The
+options &minus;P for page size grouping, &minus;S for
+subdivision into columns and rows and &minus;e for export
+mode options that produce one or more files from each input
+image. The options &minus;r, &minus;s, &minus;t, &minus;w
+control strip and tile format and sizes while &minus;B
+&minus;L &minus;c &minus;f modify the endian addressing
+scheme, the compression options, and the bit fill sequence
+of images as they are written.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Those that
+perform some action on each image that is selected from the
+input file. The options include &minus;R for rotate,
+&minus;I for inversion of the photometric interpretation
+and/or data values, and &minus;F to flip (mirror) the image
+horizontally or vertically.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Functions are
+applied to the input image(s) in the following order:
+cropping, fixed area extraction, zone and region extraction,
+inversion, mirroring, rotation.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Functions are
+applied to the output image(s) in the following order:
+export mode options for grouping zones, regions, or images
+into one or more files, <i>or</i> row and column divisions
+with output margins, <i>or</i> page size divisions with page
+orientation options.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Finally, strip,
+tile, byte order, output resolution, and compression options
+are applied to all output images.</p>
+
+<p style="margin-left:11%; margin-top: 1em">The output
+file(s) may be organized and compressed using a different
+algorithm from the input files. By default, <i>tiffcrop</i>
+will copy all the understood tags in a <small>TIFF</small>
+directory of an input file to the associated directory in
+the output file. Options can be used to force the resultant
+image to be written as strips or tiles of data,
+respectively.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiffcrop</i>
+can be used to reorganize the storage characteristics of
+data in a file, and to reorganize, extract, rotate, and
+otherwise process the image data as specified at the same
+time whereas tiffcp does not alter the image data within the
+file.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Using the
+options for selecting individual input images and the
+options for exporting images and/or segments defined as
+zones or regions of each input image, <i>tiffcrop</i> can
+perform the functions of tiffcp and tiffsplit in a single
+pass while applying multiple operations to individual
+selections or images.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;h</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Display the syntax summary for
+tiffcrop.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;v</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Report the current version and last modification date
+for tiffcrop.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;N
+odd|even|#,#&minus;#,#|last</b></p>
+
+<p style="margin-left:22%;">Specify one or more series or
+range(s) of images within each file to process. The words
+<b>odd</b> or <b>even</b> may be used to specify all odd or
+even numbered images counting from one. Note that
+internally, TIFF images are numbered from zero rather than
+one but since this convention is not obvious to most users,
+tiffcrop used 1 to specify the first image in a multipage
+file. The word <b>last</b> may be used in place of a number
+in the sequence to indicate the final image in the file
+without knowing how many images there are. Ranges of images
+may be specified with a dash and multiple sets can be
+indicated by joining them in a comma&minus;separated list.
+eg. use <b>&minus;N 1,5&minus;7,last</b> to process the 1st,
+5th through 7th, and final image in the file.</p>
+
+<p style="margin-left:11%;"><b>&minus;E
+top|bottom|left|right</b></p>
+
+<p style="margin-left:22%;">Specify the top, bottom, left,
+or right edge as the reference from which to calculate the
+width and length of crop regions or sequence of positions
+for zones. When used with the &minus;e option for exporting
+zones or regions, the reference edge determines how
+composite images are arranged. Using &minus;E left or right
+causes successive zones or regions to be merged horizontally
+whereas using &minus;E top or bottom causes successive zones
+or regions to be arranged vertically. This option has no
+effect on export layout when multiple zones or regions are
+not being exported to composite images. Edges may be
+abbreviated to the first letter.</p>
+
+<p style="margin-left:11%;"><b>&minus;e
+combined|divided|image|multiple|separate</b></p>
+
+<p style="margin-left:22%;">Specify the export mode for
+images and selections from input images. The final filename
+on the command line is considered to be the destination file
+or filename stem for automatically generated sequences of
+files. Modes may be abbreviated to the first letter.</p>
+
+<p style="margin-left:22%; margin-top: 1em">combined All
+images and selections are written to a single file with
+multiple selections from one image combined into a single
+image (default)</p>
+
+<p style="margin-left:22%; margin-top: 1em">divided All
+images and selections are written to a single file with each
+selection from one image written to a new image</p>
+
+<p style="margin-left:22%; margin-top: 1em">image Each
+input image is written to a new file (numeric filename
+sequence) with multiple selections from the image combined
+into one image</p>
+
+<p style="margin-left:22%; margin-top: 1em">multiple Each
+input image is written to a new file (numeric filename
+sequence) with each selection from the image written to a
+new image</p>
+
+<p style="margin-left:22%; margin-top: 1em">separate
+Individual selections from each image are written to
+separate files</p>
+
+<p style="margin-left:11%;"><b>&minus;U in|cm|px</b></p>
+
+<p style="margin-left:22%;">Specify the type of units to
+apply to dimensions for margins and crop regions for input
+and output images. Inches or centimeters are converted to
+pixels using the resolution unit specified in the TIFF file
+(which defaults to inches if not specified in the IFD).</p>
+
+<p style="margin-left:11%;"><b>&minus;m #,#,#,#</b></p>
+
+<p style="margin-left:22%;">Specify margins to be removed
+from the input image. The order must be top, left, bottom,
+right with only commas separating the elements of the list.
+Margins are scaled according to the current units and
+removed before any other extractions are computed..</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>&minus;X #</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Set the horizontal (X&minus;axis) dimension of a region
+to extract relative to the specified origin reference. If
+the origin is the top or bottom edge, the X axis value will
+be assumed to start at the left edge.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>&minus;Y #</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Set the vertical (Y&minus;axis) dimension of a region to
+extract relative to the specified origin reference. If the
+origin is the left or right edge, the Y axis value will be
+assumed to start at the top.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;Z #:#,#:#</b></p>
+
+<p style="margin-left:22%;">Specify zones of the image
+designated as position X of Y equal sized portions measured
+from the reference edge, eg 1:3 would be first third of the
+image starting from the reference edge minus any margins
+specified for the confining edges. Multiple zones can be
+specified as a comma separated list but they must reference
+the same edge. To extract the top quarter and the bottom
+third of an image you would use <b>&minus;Z 1:4,3:3.</b></p>
+
+<p style="margin-left:11%;"><b>&minus;z x1,y1,x2,y2: ...
+:xN,yN,xN+1,yN+1</b></p>
+
+<p style="margin-left:22%;">Specify a series of coordinates
+to define regions for processing and exporting. The
+coordinates represent the top left and lower right corners
+of each region in the current units, eg inch, cm, or pixels.
+Pixels are counted from one to width or height and inches or
+cm are calculated from image resolution data.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Each colon
+delimited series of four values represents the horizontal
+and vertical offsets from the top and left edges of the
+image, regardless of the edge specified with the &minus;E
+option. The first and third values represent the horizontal
+offsets of the corner points from the left edge while the
+second and fourth values represent the vertical offsets from
+the top edge.</p>
+
+<p style="margin-left:11%;"><b>&minus;F horiz|vert</b></p>
+
+<p style="margin-left:22%;">Flip, ie mirror, the image or
+extracted region horizontally or vertically.</p>
+
+<p style="margin-left:11%;"><b>&minus;R 90|180|270</b></p>
+
+<p style="margin-left:22%;">Rotate the image or extracted
+region 90, 180, or 270 degrees clockwise.</p>
+
+<p style="margin-left:11%;"><b>&minus;I
+[black|white|data|both]</b></p>
+
+<p style="margin-left:22%;">Invert color space, eg dark to
+light for bilevel and grayscale images. This can be used to
+modify negative images to positive or to correct images that
+have the PHOTOMETRIC_INTERPRETATIN tag set incorrectly. If
+the value is black or white, the PHOTOMETRIC_INTERPRETATION
+tag is set to MinIsBlack or MinIsWhite, without altering the
+image data. If the argument is data or both, the data values
+of the image are modified. Specifying both inverts the data
+and the PHOTOMETRIC_INTERPRETATION tag, whereas using data
+inverts the data but not the PHOTOMETRIC_INTERPRETATION tag.
+No support for modifying the color space of color images in
+this release.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>&minus;H #</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Set the horizontal resolution of output images to #
+expressed in the current units.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>&minus;V #</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Set the vertical resolution of the output images to #
+expressed in the current units.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>&minus;J #</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Set the horizontal margin of an output page size to #
+expressed in the current units when sectioning image into
+columns x rows subimages using the &minus;S cols:rows
+option.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>&minus;K #</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Set the vertical margin of an output page size to #
+expressed in the current units when sectioning image into
+columns x rows submiages using the &minus;S cols:rows
+option.</p> </td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;O
+portrait|landscape|auto</b></p>
+
+<p style="margin-left:22%;">Set the output orientation of
+the pages or sections. Auto will use the arrangement that
+requires the fewest pages. This option is only meaningful in
+conjunction with the -P option to format an image to fit on
+a specific paper size.</p>
+
+<p style="margin-left:11%;"><b>&minus;P page</b></p>
+
+<p style="margin-left:22%;">Format the output images to fit
+on page size paper. Use &minus;P list to show the supported
+page sizes and dimensions. You can define a custom page size
+by entering the width and length of the page in the current
+units with the following format #.#x#.#.</p>
+
+<p style="margin-left:11%;"><b>&minus;S cols:rows</b></p>
+
+<p style="margin-left:22%;">Divide each image into cols
+across and rows down equal sections.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;B</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force output to be written with Big&minus;Endian byte
+order. This option only has an effect when the output file
+is created or overwritten and not when it is appended
+to.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;C</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Suppress the use of &lsquo;&lsquo;strip
+chopping&rsquo;&rsquo; when reading images that have a
+single strip/tile of uncompressed data.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the compression to use for data written to the
+output file: <b>none</b> for no compression, <b>packbits</b>
+for PackBits compression, <b>lzw</b> for Lempel&minus;Ziv
+&amp; Welch compression, <b>jpeg</b> for baseline JPEG
+compression. <b>zip</b> for Deflate compression, <b>g3</b>
+for CCITT Group 3 (T.4) compression, and <b>g4</b> for CCITT
+Group 4 (T.6) compression. By default <i>tiffcrop</i> will
+compress data according to the value of the
+<i>Compression</i> tag found in the source file.</p></td></tr>
+</table>
+
+<p style="margin-left:22%; margin-top: 1em">The
+<small>CCITT</small> Group 3 and Group 4 compression
+algorithms can only be used with bilevel data.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Group 3
+compression can be specified together with several
+T.4&minus;specific options: <b>1d</b> for
+1&minus;dimensional encoding, <b>2d</b> for
+2&minus;dimensional encoding, and <b>fill</b> to force each
+encoded scanline to be zero&minus;filled so that the
+terminating EOL code lies on a byte boundary. Group
+3&minus;specific options are specified by appending a
+&lsquo;&lsquo;:&rsquo;&rsquo;&minus;separated list to the
+&lsquo;&lsquo;g3&rsquo;&rsquo; option; e.g. <b>&minus;c
+g3:2d:fill</b> to get 2D&minus;encoded data with
+byte&minus;aligned EOL codes.</p>
+
+
+<p style="margin-left:22%; margin-top: 1em"><small>LZW</small>
+compression can be specified together with a
+<i>predictor</i> value. A predictor value of 2 causes each
+scanline of the output image to undergo horizontal
+differencing before it is encoded; a value of 1 forces each
+scanline to be encoded without differencing.
+LZW&minus;specific options are specified by appending a
+&lsquo;&lsquo;:&rsquo;&rsquo;&minus;separated list to the
+&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
+lzw:2</b> for <small>LZW</small> compression with horizontal
+differencing.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;f</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify the bit fill order to
+use in writing output data. By default, <i>tiffcrop</i> will
+create a new file with the same fill order as the original.
+Specifying <b>&minus;f lsb2msb</b> will force data to be
+written with the FillOrder tag set to
+<small>LSB2MSB,</small> while <b>&minus;f msb2lsb</b> will
+force data to be written with the FillOrder tag set to
+<small>MSB2LSB.</small></p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;i</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Ignore non&minus;fatal read errors and continue
+processing of the input file.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;k size</b></p>
+
+<p style="margin-left:22%;">Set maximum memory allocation
+size (in MiB). The default is 256MiB. Set to 0 to disable
+the limit.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;l</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the length of a tile (in pixels).
+<i>Tiffcrop</i> attempts to set the tile dimensions so that
+no more than 8 kilobytes of data appear in a tile.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;L</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force output to be written with Little&minus;Endian byte
+order. This option only has an effect when the output file
+is created or overwritten and not when it is appended
+to.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;M</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Suppress the use of memory&minus;mapped files when
+reading images.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;p</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the planar configuration to use in writing image
+data that has more than one sample per pixel. By default,
+<i>tiffcrop</i> will create a new file with the same planar
+configuration as the original. Specifying <b>&minus;p
+contig</b> will force data to be written with
+multi&minus;sample data packed together, while <b>&minus;p
+separate</b> will force samples to be written in separate
+planes.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the number of rows (scanlines) in each strip of
+data written to the output file. By default (or when value
+<b>0</b> is specified), <i>tiffcrop</i> attempts to set the
+rows/strip that no more than 8 kilobytes of data appear in a
+strip. If you specify the special value <b>&minus;1</b> it
+will results in infinite number of the rows per strip. The
+entire image will be the one strip in that case.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;s</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the output file to be written with data organized
+in strips (rather than tiles).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;t</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the output file to be written with data organized
+in tiles (rather than strips).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;w</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the width of a tile (in pixels). <i>tiffcrop</i>
+attempts to set the tile dimensions so that no more than 8
+kilobytes of data appear in a tile. <i>tiffcrop</i> attempts
+to set the tile dimensions so that no more than 8 kilobytes
+of data appear in a tile.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;">Debug and dump facility</p>
+
+<p style="margin-left:22%;"><b>&minus;D
+opt1:value1,opt2:value2,opt3:value3:opt4:value4</b> Display
+program progress and/or dump raw data to non&minus;TIFF
+files. Options include the following and must be joined as a
+comma separated list. The use of this option is generally
+limited to program debugging and development of future
+options. An equal sign may be substituted for the colon in
+option:value pairs.</p>
+
+<p style="margin-left:22%; margin-top: 1em">debug:N Display
+limited program progress indicators where larger N increase
+the level of detail.</p>
+
+<p style="margin-left:22%; margin-top: 1em">format:txt|raw
+Format any logged data as ASCII text or raw binary values.
+ASCII text dumps include strings of ones and zeroes
+representing the binary values in the image data plus
+identifying headers.</p>
+
+<p style="margin-left:22%; margin-top: 1em">level:N Specify
+the level of detail presented in the dump files. This can
+vary from dumps of the entire input or output image data to
+dumps of data processed by specific functions. Current range
+of levels is 1 to 3.</p>
+
+
+<p style="margin-left:22%; margin-top: 1em">input:full&minus;path&minus;to&minus;directory/input&minus;dumpname</p>
+
+
+<p style="margin-left:22%; margin-top: 1em">output:full&minus;path&minus;to&minus;directory/output&minus;dumpname</p>
+
+<p style="margin-left:22%; margin-top: 1em">When dump files
+are being written, each image will be written to a separate
+file with the name built by adding a numeric sequence value
+to the dumpname and an extension of .txt for ASCII dumps or
+.bin for binary dumps.</p>
+
+<p style="margin-left:22%; margin-top: 1em">The four
+debug/dump options are independent, though it makes little
+sense to specify a dump file without specifying a detail
+level.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Note: Tiffcrop
+may be compiled with -DDEVELMODE to enable additional very
+<br>
+low level debug reporting.</p>
+
+<h2>EXAMPLES
+<a name="EXAMPLES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+concatenates two files and writes the result using
+<small>LZW</small> encoding:</p>
+
+<p style="margin-left:22%;">tiffcrop &minus;c lzw a.tif
+b.tif result.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">To convert a G3
+1d&minus;encoded <small>TIFF</small> to a single strip of
+G4&minus;encoded data the following might be used:</p>
+
+<p style="margin-left:22%;">tiffcrop &minus;c g4 &minus;r
+10000 g3.tif g4.tif</p>
+
+<p style="margin-left:11%;">(1000 is just a number that is
+larger than the number of rows in the source file.)</p>
+
+<p style="margin-left:11%; margin-top: 1em">To extract a
+selected set of images from a multi&minus;image TIFF file
+use the &minus;N option described above. Thus, to copy the
+1st and 3rd images of image file &quot;album.tif&quot; to
+&quot;result.tif&quot;:</p>
+
+<p style="margin-left:22%;">tiffcrop &minus;N 1,3 album.tif
+result.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">Invert a
+bilevel image scan of a microfilmed document and crop off
+margins of 0.25 inches on the left and right, 0.5 inch on
+the top, and 0.75 inch on the bottom. From the remaining
+portion of the image, select the second and third quarters,
+ie, one half of the area left from the center to each
+margin.</p>
+
+<p style="margin-left:22%;">tiffcrop &minus;U in &minus;m
+0.5,0.25,0.75,0.25 &minus;E left &minus;Z 2:4,3:4 &minus;I
+both MicrofilmNegative.tif MicrofilmPostiveCenter.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">Extract only
+the final image of a large Architectural E sized multipage
+TIFF file and rotate it 90 degrees clockwise while
+reformatting the output to fit on tabloid sized sheets with
+one quarter of an inch on each side:</p>
+
+<p style="margin-left:22%;">tiffcrop &minus;N last &minus;R
+90 &minus;O auto &minus;P tabloid &minus;U in &minus;J 0.25
+&minus;K 0.25 &minus;H 300 &minus;V 300
+Big&minus;PlatMap.tif BigPlatMap&minus;Tabloid.tif</p>
+
+<p style="margin-left:11%;">The output images will have a
+specified resolution of 300 dpi in both directions. The
+orientation of each page will be determined by whichever
+choice requires the fewest pages. To specify a specific
+orientation, use the portrait or landscape option. The paper
+size option does not resample the image. It breaks each
+original image into a series of smaller images that will fit
+on the target paper size at the specified resolution.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Extract two
+regions 2048 pixels wide by 2048 pixels high from each page
+of a multi&minus;page input file and write each region to a
+separate output file.</p>
+
+<p style="margin-left:22%;">tiffcrop &minus;U px &minus;z
+1,1,2048,2048:1,2049,2048,4097 &minus;e separate
+CheckScans.tiff Check</p>
+
+<p style="margin-left:11%;">The output file names will use
+the stem Check with a numeric suffix which is incremented
+for each region of each image, eg Check&minus;001.tiff,
+Check&minus;002.tiff ... Check&minus;NNN.tiff. To produce a
+unique file for each page of the input image with one new
+image for each region of the input image on that page,
+change the export option to &minus;e multiple.</p>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">In general,
+bilevel, grayscale, palette and RGB(A) data with bit depths
+from 1 to 32 bits should work in both interleaved and
+separate plane formats. Unlike tiffcp, tiffcrop can read and
+write tiled images with bits per sample that are not a
+multiple of 8 in both interleaved and separate planar
+format. Floating point data types are supported at bit depts
+of 16, 24, 32 and 64 bits per sample.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Not all images
+can be converted from one compression scheme to another.
+Data with some photometric interpretations and/or bit depths
+are tied to specific compression schemes and vice-versa,
+e.g. Group 3/4 compression is only usable for bilevel data.
+JPEG compression is only usable on 8 bit per sample data (or
+12 bit if <i>LibTIFF</i> was compiled with 12 bit JPEG
+support). Support for OJPEG compressed images is problematic
+at best. Since OJPEG compression is no longer supported for
+writing images with LibTIFF, these images will be updated to
+the newer JPEG compression when they are copied or
+processed. This may cause the image to appear color shifted
+or distorted after conversion. In some cases, it is possible
+to remove the original compression from image data using the
+option -cnone.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Tiffcrop does
+not currently provide options to up or downsample data to
+different bit depths or convert data from one photometric
+interpretation to another, e.g. 16 bits per sample to 8 bits
+per sample or RGB to grayscale.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Tiffcrop is
+very loosely derived from code in <i>tiffcp</i> with
+extensive modifications and additions to support the
+selection of input images and regions and the exporting of
+them to one or more output files in various groupings. The
+image manipulation routines are entirely new and additional
+ones may be added in the future. It will handle tiled images
+with bit depths that are not a multiple of eight that tiffcp
+may refuse to read.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiffcrop</i>
+was designed to handle large files containing many moderate
+sized images with memory usage that is independent of the
+number of images in the file. In order to support
+compression modes that are not based on individual
+scanlines, e.g. JPEG, it now reads images by strip or tile
+rather than by individual scanlines. In addition to the
+memory required by the input and output buffers associated
+with <i>LibTIFF</i> one or more buffers at least as large as
+the largest image to be read are required. The design favors
+large volume document processing uses over scientific or
+graphical manipulation of large datasets as might be found
+in research or remote sensing scenarios.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcmp</b>(1), <b>tiffcp</b>(1),
+<b>tiffmedian</b>(1), <b>tiffsplit</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffdither.1.html b/doc/static/man/tiffdither.1.html
new file mode 100644
index 00000000..979d4662
--- /dev/null
+++ b/doc/static/man/tiffdither.1.html
@@ -0,0 +1,188 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFDITHER</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFDITHER</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffdither
+&minus; convert a greyscale image to bilevel using
+dithering</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffdither</b>
+[ <i>options</i> ] <i>input.tif output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffdither</i>
+converts a single channel 8-bit greyscale image to a bilevel
+image using Floyd-Steinberg error propagation with
+thresholding.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify the compression to use
+for data written to the output file: <b>none</b> for no
+compression, <b>packbits</b> for PackBits compression,
+<b>lzw</b> for Lempel-Ziv &amp; Welch compression,
+<b>zip</b> for Deflate compression, <b>g3</b> for CCITT
+Group 3 (T.4) compression, and <b>g4</b> for CCITT Group 4
+(T.6) compression. By default <i>tiffdither</i> will
+compress data according to the value of the
+<i>Compression</i> tag found in the source file.</p></td></tr>
+</table>
+
+<p style="margin-left:22%; margin-top: 1em">The
+<small>CCITT</small> Group 3 and Group 4 compression
+algorithms can only be used with bilevel data.</p>
+
+<p style="margin-left:22%; margin-top: 1em">Group 3
+compression can be specified together with several
+T.4-specific options: <b>1d</b> for 1-dimensional encoding,
+<b>2d</b> for 2-dimensional encoding, and <b>fill</b> to
+force each encoded scanline to be zero-filled so that the
+terminating EOL code lies on a byte boundary. Group
+3-specific options are specified by appending a
+&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
+&lsquo;&lsquo;g3&rsquo;&rsquo; option; e.g. <b>&minus;c
+g3:2d:fill</b> to get 2D-encoded data with byte-aligned EOL
+codes.</p>
+
+
+<p style="margin-left:22%; margin-top: 1em"><small>LZW</small>
+compression can be specified together with a
+<i>predictor</i> value. A predictor value of 2 causes each
+scanline of the output image to undergo horizontal
+differencing before it is encoded; a value of 1 forces each
+scanline to be encoded without differencing. LZW-specific
+options are specified by appending a
+&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
+&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
+lzw:2</b> for <small>LZW</small> compression with horizontal
+differencing.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;f</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify the bit fill order to
+use in writing output data. By default, <i>tiffdither</i>
+will create a new file with the same fill order as the
+original. Specifying <b>&minus;f lsb2msb</b> will force data
+to be written with the <i>FillOrder</i> tag set to
+<small>LSB2MSB ,</small> while <b>&minus;f msb2lsb</b> will
+force data to be written with the <i>FillOrder</i> tag set
+to <small>MSB2LSB .</small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Make each strip have no more than the given number of
+rows.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;t</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Set the threshold value for dithering. By default the
+threshold value is 128.</p></td></tr>
+</table>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The dither
+algorithm is taken from the <b>tiffmedian</b>(1) program
+(written by Paul Heckbert).</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>fax2tiff</b>(1), <b>tiffinfo</b>(1), <b>tiffcp</b>(1),
+<b>tiff2bw</b>(1), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffdump.1.html b/doc/static/man/tiffdump.1.html
new file mode 100644
index 00000000..4123321e
--- /dev/null
+++ b/doc/static/man/tiffdump.1.html
@@ -0,0 +1,128 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFDUMP</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFDUMP</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffdump
+&minus; print verbatim information about <small>TIFF</small>
+files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffdump</b>
+[ <i>options</i> ] <i>name ...</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffdump</i>
+displays directory information from files created according
+to the Tag Image File Format, Revision 6.0. The header of
+each <small>TIFF</small> file (magic number, version, and
+first directory offset) is displayed, followed by the tag
+contents of each directory in the file. For each tag, the
+name, data type, count, and value(s) is displayed. When the
+symbolic name for a tag or data type is known, the symbolic
+name is displayed followed by it&rsquo;s numeric (decimal)
+value. Tag values are displayed enclosed in
+&lsquo;&lsquo;&lt;&gt;&rsquo;&rsquo; characters immediately
+preceded by the value of the count field. For example, an
+<i>ImageWidth</i> tag might be displayed as
+&lsquo;&lsquo;ImageWidth (256) SHORT (3)
+1&lt;800&gt;&rsquo;&rsquo;.</p>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffdump</i>
+is particularly useful for investigating the contents of
+<small>TIFF</small> files that <i>libtiff</i> does not
+understand.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;h</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Force numeric data to be printed
+in hexadecimal rather than the default decimal.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>&minus;m</b>
+<i>items</i></p>
+
+<p style="margin-left:22%;">Change the number of indirect
+data items that are printed. By default, this will be
+24.</p>
+
+<p style="margin-left:11%;"><b>&minus;o</b>
+<i>offset</i></p>
+
+<p style="margin-left:22%;">Dump the contents of the
+<small>IFD</small> at the a particular file offset. The file
+offset may be specified using the usual C-style syntax; i.e.
+a leading &lsquo;&lsquo;0x&rsquo;&rsquo; for hexadecimal and
+a leading &lsquo;&lsquo;0&rsquo;&rsquo; for octal.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffinfo</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffgt.1.html b/doc/static/man/tiffgt.1.html
new file mode 100644
index 00000000..e03b050a
--- /dev/null
+++ b/doc/static/man/tiffgt.1.html
@@ -0,0 +1,496 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFGT</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFGT</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffgt &minus;
+display an image stored in a <small>TIFF</small> file
+(Silicon Graphics version)</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffgt</b> [
+<i>options</i> ] <i>input.tif ...</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffgt</i>
+displays one or more images stored using the Tag Image File
+Format, Revision 6.0. Each image is placed in a fixed size
+window that the user must position on the display (unless
+configured otherwise through X defaults). If the display has
+fewer than 24 bitplanes, or if the image does not warrant
+full color, then <small>RGB</small> color values are mapped
+to the closest values that exist in the colormap (this is
+done using the <i>rgbi</i> routine found in the graphics
+utility library <b>&minus;lgutil</b>.)</p>
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffgt</i>
+correctly handles files with any of the following
+characteristics:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="24%">
+
+
+<p><i>BitsPerSample</i></p></td>
+<td width="58%">
+
+
+<p>1, 2, 4, 8, 16</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="24%">
+
+
+<p><i>SamplesPerPixel</i></p></td>
+<td width="58%">
+
+
+<p>1, 3, 4 (the 4th sample is ignored)</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="24%">
+
+
+<p><i>PhotometricInterpretation</i></p></td>
+<td width="58%">
+
+
+<p>0 (min-is-white), 1 (min-is-black), 2 (RGB), 3
+(palette), 6 (YCbCr)</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="24%">
+
+
+<p><i>PlanarConfiguration</i></p></td>
+<td width="58%">
+
+
+<p>1 (contiguous), 2 (separate)</p></td></tr>
+<tr valign="top" align="left">
+<td width="18%"></td>
+<td width="24%">
+
+
+<p><i>Orientation</i></p></td>
+<td width="58%">
+
+
+<p>1 (top-left), 4 (bottom-left)</p></td></tr>
+</table>
+
+<p style="margin-left:11%;">Data may be organized as strips
+or tiles and may be compressed with any of the compression
+algorithms supported by the <i>libtiff</i>(3) library.</p>
+
+<p style="margin-left:11%; margin-top: 1em">For palette
+images (<i>PhotometricInterpretation</i>=3), <i>tiffgt</i>
+inspects the colormap values and assumes either 16-bit or
+8-bit values according to the maximum value. That is, if no
+colormap entry greater than 255 is found, <i>tiffgt</i>
+assumes the colormap has only 8-bit values; otherwise it
+assumes 16-bit values. This inspection is done to handle old
+images written by previous (incorrect) versions of
+<i>libtiff</i>.</p>
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffgt</i>
+can be used to display multiple images one-at-a-time. The
+left mouse button switches the display to the first image in
+the <i>next</i> file in the list of files specified on the
+command line. The right mouse button switches to the first
+image in the <i>previous</i> file in the list. The middle
+mouse button causes the first image in the first file
+specified on the command line to be displayed. In addition
+the following keyboard commands are recognized:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>b</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Use a <i>PhotometricInterpretation</i> of MinIsBlack in
+displaying the current image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>l</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Use a <i>FillOrder</i> of lsb-to-msb in decoding the
+current image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>m</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Use a <i>FillOrder</i> of msb-to-lsb in decoding the
+current image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>c</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Use a colormap visual to display the current image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>r</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Use a true color (24-bit RGB) visual to display the
+current image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>w</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Use a <i>PhotometricInterpretation</i> of MinIsWhite in
+displaying the current image.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>W</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Toggle (enable/disable) display of warning messages from
+the <small>TIFF</small> library when decoding images.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>E</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Toggle (enable/disable) display of error messages from
+the <small>TIFF</small> library when decoding images.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>z</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Reset all parameters to their default settings
+(<i>FillOrder</i>, <i>PhotometricInterpretation</i>,
+handling of warnings and errors).</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="9%">
+
+
+<p><b>PageUp</b></p></td>
+<td width="2%"></td>
+<td width="78%">
+
+
+<p>Display the previous image in the current file or the
+last image in the previous file.</p></td></tr>
+</table>
+
+<p style="margin-left:11%;"><b>PageDown</b></p>
+
+<p style="margin-left:22%;">Display the next image in the
+current file or the first image in the next file.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>Home</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Display the first image in the current file.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="6%">
+
+
+<p><b>End</b></p></td>
+<td width="5%"></td>
+<td width="78%">
+
+
+<p>Display the last image in the current file
+(unimplemented).</p> </td></tr>
+</table>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Force image display in a
+colormap window.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;d</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify an image to display by directory number. By
+default the first image in the file is displayed.
+Directories are numbered starting at zero.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;e</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Enable reporting of error messages from the
+<small>TIFF</small> library. By default <i>tiffgt</i>
+silently ignores images that cannot be read.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;f</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force <i>tiffgt</i> to run as a foreground process. By
+default <i>tiffgt</i> will place itself in the background
+once it has opened the requested image file.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;l</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the presumed bit ordering to be <small>LSB</small>
+to <small>MSB.</small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;m</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force the presumed bit ordering to be <small>MSB</small>
+to <small>LSB.</small></p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;o</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify an image to display by directory offset. By
+default the first image in the file is displayed.
+Directories offsets may be specified using C-style syntax;
+i.e. a leading &lsquo;&lsquo;0x&rsquo;&rsquo; for
+hexadecimal and a leading &lsquo;&lsquo;0&rsquo;&rsquo; for
+octal.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;p</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Override the value of the
+<i>PhotometricInterpretation</i> tag; the parameter may be
+one of: <b>miniswhite</b>, <b>minisblack</b>, <b>rgb</b>,
+<b>palette</b>, <b>mask</b>, <b>separated</b>, <b>ycbcr</b>,
+and <b>cielab</b>.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Force image display in a full color window.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;s</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Stop on the first read error. By default all errors in
+the input data are ignored and <i>tiffgt</i> does it&rsquo;s
+best to display as much of an image as possible.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;w</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Enable reporting of warning messages from the
+<small>TIFF</small> library. By default <i>tiffgt</i>
+ignores warning messages generated when reading an
+image.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;v</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Place information in the title bar describing what type
+of window (full color or colormap) is being used, the name
+of the input file, and the directory index of the image (if
+non-zero). By default, the window type is not shown in the
+title bar.</p></td></tr>
+</table>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Images wider
+and taller than the display are silently truncated to avoid
+crashing old versions of the window manager.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffdump</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffinfo.1.html b/doc/static/man/tiffinfo.1.html
new file mode 100644
index 00000000..dff4b49c
--- /dev/null
+++ b/doc/static/man/tiffinfo.1.html
@@ -0,0 +1,185 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFINFO</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFINFO</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffinfo
+&minus; print information about <small>TIFF</small>
+files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffinfo</b>
+[ <i>options</i> ] <i>input.tif ...</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiffinfo</i>
+displays information about files created according to the
+Tag Image File Format, Revision 6.0. By default, the
+contents of each <small>TIFF</small> directory in each file
+is displayed, with the value of each tag shown symbolically
+(where sensible).</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Display the colormap and
+color/gray response curves, if present.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;D</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>In addition to displaying the directory tags, read and
+decompress all the data in each image (but not display
+it).</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;d</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>In addition to displaying the directory tags, print each
+byte of decompressed data in hexadecimal.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;j</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Display any <small>JPEG</small> -related tags that are
+present.</p> </td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;o</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Set the initial <small>TIFF</small> directory according
+to the specified file offset. The file offset may be
+specified using the usual C-style syntax; i.e. a leading
+&lsquo;&lsquo;0x&rsquo;&rsquo; for hexadecimal and a leading
+&lsquo;&lsquo;0&rsquo;&rsquo; for octal.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;s</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Display the offsets and byte counts for each data strip
+in a directory.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;z</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Enable strip chopping when reading image data.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;#</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Set the initial <small>TIFF</small> directory to
+<i>#</i>.</p> </td></tr>
+</table>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffcp</b>(1), <b>tiffcmp</b>(1), <b>tiffmedian</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffmedian.1.html b/doc/static/man/tiffmedian.1.html
new file mode 100644
index 00000000..99c1295a
--- /dev/null
+++ b/doc/static/man/tiffmedian.1.html
@@ -0,0 +1,174 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFMEDIAN</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFMEDIAN</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#NOTES">NOTES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffmedian
+&minus; apply the median cut algorithm to data in a
+<small>TIFF</small> file</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffmedian</b>
+[ <i>options</i> ] <i>input.tif output.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffmedian</i>
+applies the median cut algorithm to an <small>RGB</small>
+image in <i>input.tif</i> to generate a palette image that
+is written to <i>output.tif</i>. The generated colormap has,
+by default, 256 entries. The image data is quantized by
+mapping each pixel to the closest color values in the
+colormap.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;c</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify the compression to use
+for data written to the output file: <b>none</b> for no
+compression, <b>packbits</b> for PackBits compression,
+<b>lzw</b> for Lempel-Ziv &amp; Welch compression, and
+<b>zip</b> for Deflate compression. By default
+<i>tiffmedian</i> will compress data according to the value
+of the <i>Compression</i> tag found in the source file.</p></td></tr>
+</table>
+
+
+<p style="margin-left:22%; margin-top: 1em"><small>LZW</small>
+compression can be specified together with a
+<i>predictor</i> value. A predictor value of 2 causes each
+scanline of the output image to undergo horizontal
+differencing before it is encoded; a value of 1 forces each
+scanline to be encoded without differencing. LZW-specific
+options are specified by appending a
+&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
+&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
+lzw:2</b> for <small>LZW</small> compression with horizontal
+differencing.</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p style="margin-top: 1em"><b>&minus;C</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p style="margin-top: 1em">Specify the number of entries to
+use in the generated colormap. By default all 256
+entries/colors are used.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;f</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Apply Floyd-Steinberg dithering before selecting a
+colormap entry.</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="3%">
+
+
+<p><b>&minus;r</b></p></td>
+<td width="8%"></td>
+<td width="78%">
+
+
+<p>Specify the number of rows (scanlines) in each strip of
+data written to the output file. By default,
+<i>tiffmedian</i> attempts to set the rows/strip that no
+more than 8 kilobytes of data appear in a strip.</p></td></tr>
+</table>
+
+<h2>NOTES
+<a name="NOTES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">This program is
+derived from Paul Heckbert&rsquo;s <i>median</i>
+program.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>pal2rgb</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1), <b>tiffcmp</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em"><b>Color Image
+Quantization for Frame Buffer Display</b>, Paul Heckbert,
+SIGGRAPH proceedings, 1982, pp. 297-307.</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffset.1.html b/doc/static/man/tiffset.1.html
new file mode 100644
index 00000000..4b1cdc8f
--- /dev/null
+++ b/doc/static/man/tiffset.1.html
@@ -0,0 +1,141 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFSET</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFSET</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#EXAMPLES">EXAMPLES</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffset &minus;
+set or unset a field in a <small>TIFF</small> header</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffset</b>
+[ <i>options</i> ] <i>filename.tif</i></p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>Tiffset</i>
+sets the value of a <small>TIFF</small> header to a
+specified value or removes an existing setting.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>&minus;d</b>
+<i>dirnumber</i></p>
+
+<p style="margin-left:22%;">change the current directory
+(starting at 0).</p>
+
+<p style="margin-left:11%;"><b>&minus;s</b>
+<i>tagnumber</i> [ <i>count</i> ] <i>value ...</i></p>
+
+<p style="margin-left:22%;">Set the value of the named tag
+to the value or values specified.</p>
+
+<p style="margin-left:11%;"><b>&minus;sd</b>
+<i>diroffset</i></p>
+
+<p style="margin-left:22%;">change the current directory by
+offset.</p>
+
+<p style="margin-left:11%;"><b>&minus;sf</b> <i>tagnumber
+filename</i></p>
+
+<p style="margin-left:22%;">Set the value of the tag to the
+contents of filename. This option is supported for ASCII
+tags only.</p>
+
+<p style="margin-left:11%;"><b>&minus;u</b>
+<i>tagnumber</i></p>
+
+<p style="margin-left:22%;">Unset the tag.</p>
+
+<h2>EXAMPLES
+<a name="EXAMPLES"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">The following
+example sets the image description tag (270) of a.tif to the
+contents of the file descrip:</p>
+
+<p style="margin-left:22%;">tiffset &minus;sf 270 descrip
+a.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">The following
+example sets the artist tag (315) of a.tif to the string
+&lsquo;&lsquo;Anonymous&rsquo;&rsquo;:</p>
+
+<p style="margin-left:22%;">tiffset &minus;s 315 Anonymous
+a.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">This example
+sets the resolution of the file a.tif to 300 dpi:</p>
+
+<p style="margin-left:22%;">tiffset &minus;s 296 2 a.tif
+<br>
+tiffset &minus;s 282 300.0 a.tif <br>
+tiffset &minus;s 283 300.0 a.tif</p>
+
+<p style="margin-left:11%; margin-top: 1em">Set the
+photometric interpretation of the third page of a.tif to
+min-is-black (ie. inverts it):</p>
+
+<p style="margin-left:22%;">tiffset -d 2 -s 262 1 a.tif</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffdump</b>(1),
+<b>tiffinfo</b>(1), <b>tiffcp</b>(1),
+<b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/static/man/tiffsplit.1.html b/doc/static/man/tiffsplit.1.html
new file mode 100644
index 00000000..cefa0d4b
--- /dev/null
+++ b/doc/static/man/tiffsplit.1.html
@@ -0,0 +1,134 @@
+<!-- Creator : groff version 1.22.4 -->
+<!-- CreationDate: Sat Jun 4 16:23:29 2022 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title>TIFFSPLIT</title>
+
+</head>
+<body>
+
+<h1 align="center">TIFFSPLIT</h1>
+
+<a href="#NAME">NAME</a><br>
+<a href="#SYNOPSIS">SYNOPSIS</a><br>
+<a href="#DESCRIPTION">DESCRIPTION</a><br>
+<a href="#OPTIONS">OPTIONS</a><br>
+<a href="#EXIT STATUS">EXIT STATUS</a><br>
+<a href="#BUGS">BUGS</a><br>
+<a href="#SEE ALSO">SEE ALSO</a><br>
+
+<hr>
+
+
+<h2>NAME
+<a name="NAME"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">tiffsplit
+&minus; split a multi-image <small>TIFF</small> into
+single-image <small>TIFF</small> files</p>
+
+<h2>SYNOPSIS
+<a name="SYNOPSIS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffsplit</b>
+<i>src.tif</i> [ <i>prefix</i> ]</p>
+
+<h2>DESCRIPTION
+<a name="DESCRIPTION"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffsplit</i>
+takes a multi-directory (page) <small>TIFF</small> file and
+creates one or more single-directory (page)
+<small>TIFF</small> files from it. The output files are
+given names created by concatenating a prefix, a lexically
+ordered suffix in the range [<i>aaa</i>-<i>zzz</i>], the
+suffix <i>.tif</i> (e.g. <i>xaaa.tif</i>, <i>xaab.tif</i>,
+<i>...</i>, <i>xzzz.tif</i>). If a prefix is not specified
+on the command line, the default prefix of <i>x</i> is
+used.</p>
+
+<h2>OPTIONS
+<a name="OPTIONS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">None.</p>
+
+<h2>EXIT STATUS
+<a name="EXIT STATUS"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><i>tiffsplit</i>
+exits with one of the following values:</p>
+
+<table width="100%" border="0" rules="none" frame="void"
+ cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>0</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>Success</p></td></tr>
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="1%">
+
+
+<p><b>1</b></p></td>
+<td width="10%"></td>
+<td width="78%">
+
+
+<p>An error occurred either reading the input or writing
+results.</p> </td></tr>
+</table>
+
+<h2>BUGS
+<a name="BUGS"></a>
+</h2>
+
+
+<p style="margin-left:11%; margin-top: 1em">Only a select
+set of &lsquo;&lsquo;known tags&rsquo;&rsquo; is copied when
+splitting.</p>
+
+<h2>SEE ALSO
+<a name="SEE ALSO"></a>
+</h2>
+
+
+
+<p style="margin-left:11%; margin-top: 1em"><b>tiffcp</b>(1),
+<b>tiffinfo</b>(1), <b>libtiff</b>(3TIFF)</p>
+
+<p style="margin-left:11%; margin-top: 1em">Libtiff library
+home page: <b>http://www.simplesystems.org/libtiff/</b></p>
+<hr>
+</body>
+</html>
diff --git a/doc/support.rst b/doc/support.rst
new file mode 100644
index 00000000..c76e0760
--- /dev/null
+++ b/doc/support.rst
@@ -0,0 +1,575 @@
+TIFF 6.0 Specification Coverage
+===============================
+
+The library is capable of dealing with images that are written to
+follow the 5.0 or 6.0 TIFF spec. There is also considerable support
+for some of the more esoteric portions of the 6.0 TIFF spec.
+
+.. list-table:: Core requirements
+ :widths: 5 20
+ :header-rows: 0
+
+ * - Core requirements
+ - Both ``MM`` and ``II`` byte orders are handled.
+ Both packed and separated planar configuration of samples.
+ Any number of samples per pixel (memory permitting).
+ Any image width and height (memory permitting).
+ Multiple subfiles can be read and written.
+ Editing is **not** supported in that related subfiles (e.g.
+ a reduced resolution version of an image) are not automatically
+ updated.
+
+ Tags handled: ``ExtraSamples``, ``ImageWidth``,
+ ``ImageLength``, ``NewSubfileType``, ``ResolutionUnit``.
+ ``Rowsperstrip``, ``StripOffsets``, ``StripByteCounts``,
+ ``XResolution``, ``YResolution``
+
+ * - Tiled Images
+ - ``TileWidth``, ``TileLength``, ``TileOffsets``,
+ ``TileByteCounts``
+
+ * - Image Colorimetry Information
+ - ``WhitePoint``, ``PrimaryChromaticities``, ``TransferFunction``,
+ ``ReferenceBlackWhite``
+
+ * - Class B for bilevel images
+ - ``SamplesPerPixel`` = 1
+
+ ``BitsPerSample`` = 1
+
+ ``Compression`` = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)
+
+ ``PhotometricInterpretation`` = 0 (Min-is-White), 1 (Min-is-Black)
+
+ * - Class G for grayscale images
+ - ``SamplesPerPixel`` = 1
+
+ ``BitsPerSample`` = 4, 8
+
+ ``Compression`` = 1 (none) 5 (LZW)
+
+ ``PhotometricInterpretation`` = 0 (Min-is-White), 1 (Min-is-Black)
+
+ * - Class P for palette color images
+ - ``SamplesPerPixel`` = 1
+
+ ``BitsPerSample`` = 1-8
+
+ ``Compression`` = 1 (none) 5 (LZW)
+
+ ``PhotometricInterpretation`` = 3 (Palette RGB)
+
+ ``ColorMap``
+
+ * - Class R for RGB full color images
+ - ``SamplesPerPixel`` = 3
+
+ ``BitsPerSample`` = <8,8,8>
+
+ ``PlanarConfiguration`` = 1, 2
+
+ ``Compression`` = 1 (none) 5 (LZW)
+
+ ``PhotometricInterpretation`` = 2 (RGB)
+
+ * - Class F for facsimile
+ - (*Class B tags plus...*)
+
+ ``Compression`` = 3 (CCITT Group 3), 4 (CCITT Group 4)
+
+ ``FillOrder`` = 1 (MSB), 2 (LSB)
+
+ ``Group3Options`` = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)
+
+ ``ImageWidth`` = 1728, 2048, 2482
+
+ ``NewSubFileType`` = 2
+
+ ``ResolutionUnit`` = 2 (Inch), 3 (Centimeter)
+
+ ``PageNumber``,
+ ``XResolution``,
+ ``YResolution``,
+ ``Software``,
+ ``BadFaxLines``,
+ ``CleanFaxData``,
+ ``ConsecutiveBadFaxLines``,
+ ``DateTime``,
+ ``DocumentName``,
+ ``ImageDescription``,
+ ``Orientation``
+
+ * - Class S for separated images
+ - ``SamplesPerPixel`` = 4
+
+ ``PlanarConfiguration`` = 1, 2
+
+ ``Compression`` = 1 (none), 5 (LZW)
+
+ ``PhotometricInterpretation`` = 5 (Separated)
+
+ ``InkSet`` = 1 (CMYK)
+
+ ``DotRange``,
+ ``InkNames``,
+ ``DotRange``,
+ ``TargetPrinter``
+
+ * - Class Y for YCbCr images</th>
+ - ``SamplesPerPixel`` = 3
+
+ ``BitsPerSample`` = <8,8,8>
+
+ ``PlanarConfiguration`` = 1, 2
+
+ ``Compression`` = 1 (none), 5 (LZW), 7 (JPEG)
+
+ ``PhotometricInterpretation`` = 6 (YCbCr)
+
+ ``YCbCrCoefficients``,
+ ``YCbCrSubsampling``,
+ ``YCbCrPositioning``
+
+ (*colorimetry info from Appendix H; see above*)
+
+ * - Class "JPEG" for JPEG images (per TTN2)
+ - ``PhotometricInterpretation`` = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)
+
+ (*Class Y tags if YCbCr*)
+
+ (*Class S tags if CMYK*)
+
+ ``Compression`` = 7 (JPEG)
+
+In addition, the library supports some optional compression algorithms
+that are, in some cases, of dubious value.
+
+.. list-table:: Compression algorithms
+ :widths: 5 20
+ :header-rows: 1
+
+ * - Compression tag value
+ - Compression algorithm
+ * - 32766
+ - NeXT 2-bit encoding
+ * - 32809
+ - ThunderScan 4-bit encoding
+ * - 32909
+ - Pixar companded 11-bit ZIP encoding
+ * - 32946
+ - PKZIP-style Deflate encoding (experimental)
+ * - 34676
+ - SGI 32-bit Log Luminance encoding (experimental)
+ * - 34677
+ - SGI 24-bit Log Luminance encoding (experimental)
+
+Note that there is no support for the JPEG-related tags defined
+in the 6.0 specification; the JPEG support is based on the post-6.0
+proposal given in TIFF Technical Note #2.
+
+.. note::
+
+ For more information on the experimental Log Luminance encoding
+ consult the materials available at
+ http://www.anyhere.com/gward/pixformat/tiffluv.html.
+
+The following table shows the tags that are recognized
+and how they are used by the library. If no use is indicated,
+then the library reads and writes the tag, but does not use it internally.
+
+.. list-table:: Tags used by libtiff
+ :widths: 5 1 1 5
+ :header-rows: 1
+
+ * - Tag Name
+ - Value
+ - R/W<
+ - Library's Use (Comments)
+
+ * - ``NewSubFileType``
+ - 254
+ - R/W
+ - none (called ``SubFileType`` in :file:`<tiff.h>`)
+
+ * - ``SubFileType``
+ - 255
+ - R/W
+ - none (called ``OSubFileType`` in :file:`<tiff.h>`)
+
+ * - ``ImageWidth``
+ - 256
+ - R/W
+ - lots
+
+ * - ``ImageLength``
+ - 257
+ - R/W
+ - lots
+
+ * - ``BitsPerSample``
+ - 258
+ - R/W
+ - lots
+
+ * - ``Compression``
+ - 259
+ - R/W
+ - to select appropriate codec
+
+ * - ``PhotometricInterpretation``
+ - 262
+ - R/W
+ - lots
+
+ * - ``Thresholding``
+ - 263
+ - R/W
+ -
+
+ * - ``CellWidth``
+ - 264
+ -
+ - parsed but ignored
+
+ * - ``CellLength``
+ - 265
+ -
+ - parsed but ignored
+
+ * - ``FillOrder``
+ - 266
+ - R/W
+ - control bit order
+
+ * - ``DocumentName``
+ - 269
+ - R/W
+ -
+
+ * - ``ImageDescription``
+ - 270
+ - R/W
+ -
+
+ * - ``Make``
+ - 271
+ - R/W
+ -
+
+ * - ``Model``
+ - 272
+ - R/W
+ -
+
+ * - ``StripOffsets``
+ - 273
+ - R/W
+ - data i/o
+
+ * - ``Orientation``
+ - 274
+ - R/W
+ -
+
+ * - ``SamplesPerPixel``
+ - 277
+ - R/W
+ - lots
+
+ * - ``RowsPerStrip``
+ - 278
+ - R/W
+ - data i/o
+
+ * - ``StripByteCounts``
+ - 279
+ - R/W
+ - data i/o
+
+ * - ``MinSampleValue``
+ - 280
+ - R/W
+ -
+
+ * - ``MaxSampleValue``
+ - 281
+ - R/W
+ -
+
+ * - ``XResolution``
+ - 282
+ - R/W
+ -
+
+ * - ``YResolution``
+ - 283
+ - R/W
+ - used by Group 3 2d encoder
+
+ * - ``PlanarConfiguration``
+ - 284
+ - R/W
+ - data i/o
+
+ * - ``PageName``
+ - 285
+ - R/W
+ -
+
+ * - ``XPosition``
+ - 286
+ - R/W
+ -
+
+ * - ``YPosition``
+ - 286
+ - R/W
+ -
+
+ * - ``FreeOffsets``
+ - 288
+ -
+ - parsed but ignored
+
+ * - ``FreeByteCounts``
+ - 289
+ -
+ - parsed but ignored
+
+ * - ``GrayResponseUnit``
+ - 290
+ -
+ - parsed but ignored
+
+ * - ``GrayResponseCurve``
+ - 291
+ -
+ - parsed but ignored
+
+ * - ``Group3Options``
+ - 292
+ - R/W
+ - used by Group 3 codec
+
+ * - ``Group4Options``
+ - 293
+ - R/W
+ -
+
+ * - ``ResolutionUnit``
+ - 296
+ - R/W
+ - used by Group 3 2d encoder
+
+ * - ``PageNumber``
+ - 297
+ - R/W
+ -
+
+ * - ``ColorResponseUnit``
+ - 300
+ -
+ - parsed but ignored
+
+ * - ``TransferFunction``
+ - 301
+ - R/W
+ -
+
+ * - ``Software``
+ - 305
+ - R/W
+ -
+
+ * - ``DateTime``
+ - 306
+ - R/W
+ -
+
+ * - ``Artist``
+ - 315
+ - R/W
+ -
+
+ * - ``HostComputer``
+ - 316
+ - R/W
+ -
+
+ * - ``Predictor``
+ - 317
+ - R/W
+ - used by LZW codec
+
+ * - ``WhitePoint``
+ - 318
+ - R/W
+ -
+
+ * - ``PrimaryChromacities``
+ - 319
+ - R/W
+ -
+
+ * - ``ColorMap``
+ - 320
+ - R/W
+ -
+
+ * - ``TileWidth``
+ - 322
+ - R/W
+ - data i/o
+
+ * - ``TileLength``
+ - 323
+ - R/W
+ - data i/o
+
+ * - ``TileOffsets``
+ - 324
+ - R/W
+ - data i/o
+
+ * - ``TileByteCounts``
+ - 324
+ - R/W
+ - data i/o
+
+ * - ``BadFaxLines``
+ - 326
+ - R/W
+ -
+
+ * - ``CleanFaxData``
+ - 327
+ - R/W
+ -
+
+ * - ``ConsecutiveBadFaxLines``
+ - 328
+ - R/W
+ -
+
+ * - ``SubIFD``
+ - 330
+ - R/W
+ - subimage descriptor support
+
+ * - ``InkSet``
+ - 332
+ - R/W
+ -
+
+ * - ``InkNames``
+ - 333
+ - R/W
+ -
+
+ * - ``DotRange``
+ - 336
+ - R/W
+ -
+
+ * - ``TargetPrinter``
+ - 337
+ - R/W
+ -
+
+ * - ``ExtraSamples``
+ - 338
+ - R/W
+ - lots
+
+ * - ``SampleFormat``
+ - 339
+ - R/W
+ -
+
+ * - ``SMinSampleValue``
+ - 340
+ - R/W
+ -
+
+ * - ``SMaxSampleValue``
+ - 341
+ - R/W
+ -
+
+ * - ``JPEGTables``
+ - 347
+ - R/W
+ - used by JPEG codec
+
+ * - ``YCbCrCoefficients``
+ - 529
+ - R/W
+ - used by ``TIFFReadRGBAImage`` support
+
+ * - ``YCbCrSubsampling``
+ - 530
+ - R/W
+ - tile/strip size calculations
+
+ * - ``YCbCrPositioning``
+ - 531
+ - R/W
+ -
+
+ * - ``ReferenceBlackWhite``
+ - 532
+ - R/W
+ -
+
+ * - ``Matteing``
+ - 32995
+ - R
+ - none (obsoleted by ``ExtraSamples`` tag)
+
+ * - ``DataType``
+ - 32996
+ - R
+ - none (obsoleted by ``SampleFormat`` tag)
+
+ * - ``ImageDepth``
+ - 32997
+ - R/W
+ - tile/strip calculations
+
+ * - ``TileDepth``
+ - 32998
+ - R/W
+ - tile/strip calculations
+
+ * - ``StoNits``
+ - 37439
+ - R/W
+ -
+
+The ``Matteing`` and ``DataType``
+tags have been obsoleted by the 6.0
+``ExtraSamples`` and ``SampleFormat`` tags.
+Consult the documentation on the
+``ExtraSamples`` tag and Associated Alpha for elaboration. Note however
+that if you use Associated Alpha, you are expected to save data that is
+pre-multipled by Alpha. If this means nothing to you, check out
+Porter & Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital
+Images".
+
+The ``ImageDepth``
+tag is a non-standard, but registered tag that specifies
+the Z-dimension of volumetric data. The combination of ``ImageWidth``,
+``ImageLength``, and ``ImageDepth``,
+defines a 3D volume of pixels that are
+further specified by ``BitsPerSample`` and
+``SamplesPerPixel``. The ``TileDepth``
+tag (also non-standard, but registered) can be used to specified a
+subvolume "tiling" of a volume of data.
+
+The Colorimetry, and CMYK tags are additions that appear in TIFF 6.0.
+Consult the TIFF 6.0 specification and :ref:`document`.
+
+The JPEG-related tag is specified in
+:ref:`TIFFTechNote2`, which defines
+a revised JPEG-in-TIFF scheme (revised over the appendix that was
+part of the TIFF 6.0 specification).
diff --git a/doc/tools.rst b/doc/tools.rst
new file mode 100644
index 00000000..a2b05010
--- /dev/null
+++ b/doc/tools.rst
@@ -0,0 +1,126 @@
+TIFF Tools Overview
+===================
+
+.. image:: images/quad.jpg
+ :width: 144
+ :alt: quad
+
+This software distribution comes with a small collection of
+programs for converting non-TIFF format images to TIFF and for
+manipulating and interrogating the contents of TIFF images. Several
+of these tools are useful in their own right. Many of them however
+are more intended to serve as programming examples for using the
+TIFF library.
+
+Device-dependent Programs
+-------------------------
+
+There are two device-dependent programs that serve as simple
+examples for writing programs to display and save TIFF images.
+
+.. list-table:: Device-dependent programs
+ :widths: 5 20
+ :header-rows: 1
+
+ * - Tool
+ - Description
+
+ * - `tiffgt <man/tiffgt.1.html>`_
+ - Display the contents of one or more TIFF images using OpenGL.
+ The software makes extensive use of the ``TIFFRGBAImage``
+ facilities described elsewhere.
+
+Device-independent Programs
+---------------------------
+
+The remaining programs should be device-independent:
+
+.. list-table:: Device-dependent programs
+ :widths: 5 20
+ :header-rows: 1
+
+ * - Tool
+ - Description
+
+ * - `fax2ps <man/fax2ps.1.html>`_
+ - Convert a Group 3- or Group 4- compressed TIFF to PostScript
+ that is significantly more compressed than is generated by
+ :program:`tiff2ps` (unless :program:`tiff2ps` writes PS Level II)
+
+ * - `fax2tiff <man/fax2tiff.1.html>`_
+ - Convert raw Group 3 or Group 4 facsimile data to TIFF
+
+ * - `pal2rgb <man/pal2rgb.1.html>`_
+ - Convert a Palette-style image to a full color RGB image by
+ applying the colormap
+
+ * - `ppm2tiff <man/ppm2tiff.1.html>`_
+ - A quick hack that converts 8-bit PPM format images to TIFF
+
+ * - `raw2tiff <man/raw2tiff.1.html>`_
+ - Create a TIFF file from raw data
+
+ * - `rgb2ycbcr <man/rgb2ycbcr.1.html>`_
+ - Convert an RGB, grayscale, or bilevel TIFF image to a YCbCr
+ TIFF image; it's mainly provided for testing
+
+ * - `thumbnail <man/thumbnail.1.html>`_
+ - Copy a bilevel TIFF to one that includes 8-bit greyscale
+ "thumbnail images" for each page; it is provided as an example of
+ how one might use the ``SubIFD`` tag (and the library support
+ for it)
+
+ * - `tiff2bw <man/tiff2bw.1.html>`_
+ - A simple program to convert a color image to grayscale
+
+ * - `tiff2pdf <man/tiff2pdf.1.html>`_
+ - Convert TIFF images to PDF
+
+ * - `tiff2ps <man/tiff2ps.1.html>`_
+ - Convert TIFF images to PostScript
+
+ * - `tiff2rgba <man/tiff2rgba.1.html>`_
+ - Convert a TIFF image to RGBA color space
+
+ * - `tiffcmp <man/tiffcmp.1.html>`_
+ - Compare the contents of two TIFF files (it does not check all
+ the directory information, but does check all the data)
+
+ * - `tiffcp <man/tiffcp.1.html>`_
+ - Copy, concatenate, and convert TIFF images (e.g. switching from
+ ``Compression=5`` to ``Compression=1``)
+
+ * - `tiffcrop <man/tiffcrop.1.html>`_
+ - Provides selection of images from within one or more multi-image
+ TIFF files, with orthogonal rotation, mirroring, cropping, and
+ extraction of multiple sections and exporting to one or more files.
+ It extends the functionality of :program:`tiffcp` to support additional bit
+ depths in strips and tiles and enhances the selection capabilities of
+ tiffsplit. Bilevel images can be inverted and images may be split into
+ segments to fit on multiple /pages/ (standard paper sizes), plus other
+ functions described in the tiffcrop man page
+
+ * - `tiffdither <man/tiffdither.1.html>`_
+ - Dither a b&w image into a bilevel image (suitable for use
+ in creating fax files)
+
+ * - `tiffdump <man/tiffdump.1.html>`_
+ - Display the verbatim contents of the TIFF directory in a file
+ (it's very useful for debugging bogus files that you may get from
+ someone that claims they support TIFF)
+
+ * - `tiffinfo <man/tiffinfo.1.html>`_
+ - Display information about one or more TIFF files
+
+ * - `tiffmedian <man/tiffmedian.1.html>`_
+ - A version of Paul Heckbert's median cut program that reads an
+ RGB TIFF image, and creates a TIFF palette file as a result
+
+ * - `tiffset <man/tiffset.1.html>`_
+ - Set a field in a TIFF header
+
+ * - `tiffsplit <man/tiffsplit.1.html>`_
+ - Create one or more single-image files from a (possibly)
+ multi-image file
+
+Check out the manual pages for details about the above programs.
diff --git a/doc/v3.4beta007.rst b/doc/v3.4beta007.rst
new file mode 100644
index 00000000..2c9cec9d
--- /dev/null
+++ b/doc/v3.4beta007.rst
@@ -0,0 +1,75 @@
+Changes in TIFF v3.4beta016
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta016 (no release tag)
+ Previous Version v3.4beta004 (no references to earlier releases exist)
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* bit order was corrected for Pentium systems
+* a new define, :c:macro:`HOST_BIGENDIAN`, was added for code that
+ wants to statically use information about native cpu byte order
+
+
+Library changes
+---------------
+
+* the G3/G4 decoder was replaced by a new one that is faster and
+ has smaller state tables
+* Niles Ritter's client tag extension hooks were added
+* a new routine :c:func:`TIFFCurrentDirOffset` was added for
+ applications that want to find out the file offset of a TIFF directory
+* the calculation of the number of strips in an image was corrected
+ for images with certain esoteric configurations
+* a potential memory leak (very unlikely) was plugged
+* the ``TIFFReadRGBAImage`` support was completely rewritten
+ and new, more flexible support was added for reading images into
+ a fixed-format raster
+* YCbCr to RGB conversion done in the :c:func:`TIFFReadRGBAImage` support
+ was optimized
+* a bug in JPEG support calculation of strip size was corrected
+* the LZW decoder was changed to initialize the code table to zero
+ to lessen potential problems that arise when invalid data is decoded
+* :c:func:`tiffcomp.h` is now aware of OS/2
+* some function prototypes in :file:`tiffio.h` and :file:`tiffiop.h`
+ that contained parameter names have been changed to avoid complaints
+ from certain compilers
+
+
+Portability support changes
+---------------------------
+
+* :file:`Makefile.in` has been corrected to use the parameters
+ chosen by the :program:`configure` script
+
+
+Tools changes
+-------------
+
+* :program:`fax2ps` has been rewritten and moved over from the user
+ contributed software
+* an uninitialized variable in :program:`pal2rgb` has been fixed
+* :program:`ras2tiff` now converts 24-bit RGB raster data so that
+ samples are written in the proper order
+* :program:`tiff2ps` has been updated to include fixes
+ and enhancements from Alberto Accomazzi
+* :program:`tiffcp` now has a "``-o``" option to select a directory
+ by file offset
+* :program:`tiffinfo` is now capable of displaying the raw undecoded
+ image data in a file
+* :program:`tiffgt` has been rewritten to use the new ``TIFFRGBAImage``
+ support and to handle multiple files
diff --git a/doc/v3.4beta016.rst b/doc/v3.4beta016.rst
new file mode 100644
index 00000000..21a82e16
--- /dev/null
+++ b/doc/v3.4beta016.rst
@@ -0,0 +1,71 @@
+Changes in TIFF v3.4beta016
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta016 (no release tag)
+ Previous Version :doc:`v3.4beta007 <v3.4beta007>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* support was added for configuring the Deflate codec
+* support was added for the HTML documentation
+* codecs that are not configured for inclusion in the library
+ are no longer compiled
+
+
+Library changes
+---------------
+
+* support was added for registering new codecs external to the library
+ and for overriding the codecs that are builtin to the library
+* emulation support for the old ``DataType`` tag was improved
+* support was added for the ``SMinSampleValue``
+ and ``SMaxSampleValue`` tags
+* the library no longer ignores ``TileWidth`` and ``TileLength``
+ tags whose values are not a multiple of 16 (per the spec); this
+ permits old, improperly written, images to be read
+* the support for the ``Predictor`` tag was placed in a reusable
+ module so that it can be shared by multiple codecs
+* experimental compression support was added for the Deflate algorithm
+ (using the freely available zlib package)
+* a new routine, :c:func:`TIFFWriteBufferSetup` was added á la the
+ routine :c:func:`TIFFReadBufferSetup`
+* the DSO version of the library is now statically linked with the
+ JPEG and Deflate libraries; this means applications that link against
+ the DSO do not also need to link against these ancillary libraries
+
+
+Tools changes
+-------------
+
+* all the tools now use common code to process compress-oriented arguments
+* :program:`tiffdump` should now compile on a Macintosh with MPW
+
+
+Documentation changes
+---------------------
+
+* everything was updated
+
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/dbs/xtiff` was made to compile
+* :file:`contrib/mac-mpw` is new support for compiling the software on
+ a Macintosh under MPW
+* :file:`contrib/tags` is information on how to use the tag extenion
+ facilities; consult :file:`contrib/tags/README` for details
diff --git a/doc/v3.4beta018.rst b/doc/v3.4beta018.rst
new file mode 100644
index 00000000..bffb023d
--- /dev/null
+++ b/doc/v3.4beta018.rst
@@ -0,0 +1,50 @@
+Changes in TIFF v3.4beta018
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta018 (no release tag)
+ Previous Version :doc:`v3.4beta016 <v3.4beta016>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* configure now recognizes IRIX 6.x systems
+* configure now uses ``ENVOPTS`` when searching for an ANSI
+ C compiler; this fixes a problem configuring the software under
+ HP/UX with the native C compiler
+* configure now correctly recognizes memory-mapped files are supported
+ under AIX
+
+
+Library changes
+---------------
+
+* ``make install`` now properly installs the include files
+* some portability fixes from Bjorn Brox
+* the G3/G4 codec now warns about decoded rows that are longer than
+ the image/tile width
+* changes from Frank Cringle to make the library work with the
+ gcc-specific bounds checking software
+* miscellaneous fixes to :c:func:`TIFFPrintDirectory`
+* bug fix to correct a problem where :c:func:`TIFFWriteRawStrip`
+ could not be used to automatically grow an image's length
+
+
+Tools changes
+-------------
+
+* fixes from Frank Cringle to update :program:`fax2tiff`
+* portability fixes to :program:`tiff2bw` and :program:`tiffcmp`
+* :program:`tiffdump` now uses the byte swapping routines in the library
diff --git a/doc/v3.4beta024.rst b/doc/v3.4beta024.rst
new file mode 100644
index 00000000..1713dd3a
--- /dev/null
+++ b/doc/v3.4beta024.rst
@@ -0,0 +1,99 @@
+Changes in TIFF v3.4beta024
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta024 (no release tag)
+ Previous Version :doc:`v3.4beta018 <v3.4beta018>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* It is now possible to setup the software to build only the
+ library; :program:`configure` recognizes this is the intent when the
+ :file:`VERSION`, :file:`tiff.alpha`, and :file:`tif_version.c`
+ files are in the local directory (i.e. :file:`.`)
+* :program:`configure` no longer tries to setup HTML materials
+* include file directories needed in building the library are now
+ specified with a ``DIRS_LIBINC`` config parameter
+* configure no longer checks for alternate compilers if ``CC``
+ is set; if the specified compiler is not found or is not appropriate
+ the configuration procedure aborts
+* the :file:`port.h` file generated by configure is now used only by
+ the library and as such as have been moved to the :file:`libtiff`
+ directory
+* there is beginning support for building DSO's on systems other than IRIX
+* configure now verifies the JPEG and zlib directory pathnames by
+ checking for well-known include files in these directories
+* configure no longer creates the :file:`dist` directory needed only
+ on SGI machines (for building SGI binary distributions)
+* a bug was fixed whereby configure would incorrectly set
+ ``ENVOPTS`` when building the software with gcc under AIX
+
+
+Library changes
+---------------
+
+* two new typedefs were added to :file:`tiff.h`: :c:type:`int8`
+ and :c:type:`uint8` for signed and unsigned 8-bit quantities,
+ respectively; these are currently used only by
+ programs in the :file:`tools` directory
+* the ``BadFaxLines``, ``CleanFaxData``, and
+ ``ConsecutiveBadFaxLines`` tags are now supported with
+ Group 4 compression
+* byte order is now correctly identified on 64-bit machines
+* a bug was fixed in the PackBits decoder where input data would
+ appear short when a no-op run was present
+* a bug was fixed in calculations with very wide strips
+* :c:func:`TIFFWriteEncodedStrip` and :c:func:`TIFFWriteRawStrip`
+ were extended to support dynamically growing the number of
+ strips in an image (must set ``ImageLength`` prior to
+ making calls though)
+* :c:func:`TIFFDefaultTileSize` now rounds tile width and height
+ up to a multiple of 16 pixels, as required by the TIFF 6.0 specification
+* the file :file:`version.h` is now built by a new :program:`mkversion`
+ program; this was done for portability to non-UNIX systems
+* support was added for the Acorn RISC OS (from Peter Greenham)
+* the builtin codec table is now made ``const`` when compiling
+ under VMS so that :file:`libtiff` can be built as a shared library
+* support for the PowerPC Mac (from Ruedi Boesch)
+* support for Windows NT/Windows 95 (from Scott Wagner)
+
+
+Tools changes
+-------------
+
+* the tools no longer include :file:`port.h`
+* various portability fixes; mostly to eliminate implicit assumptions
+ about how long :c:type:`int32` data types are
+* PostScript Level II additions to :program:`tiff2ps` from Bjorn Brox
+* :program:`sgi2tiff` now handles RGBA images
+
+
+Documentation changes
+---------------------
+
+* the documentation has been updated to reflect the current state of
+ the software
+* some routines have been moved to different manual pages
+ to group like-routines together
+
+
+Contributed software changes
+----------------------------
+
+* support was added for the Acorn RISC OS (from Peter Greenham)
+* support for Windows NT/Windows 95 contributed for a previous
+ version of this software was sort of incorporated (it's broken
+ right now) (from Scott Wagner)
diff --git a/doc/v3.4beta028.rst b/doc/v3.4beta028.rst
new file mode 100644
index 00000000..77cd2fc1
--- /dev/null
+++ b/doc/v3.4beta028.rst
@@ -0,0 +1,105 @@
+Changes in TIFF v3.4beta028
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta028 (no release tag)
+ Previous Version :doc:`v3.4beta024 <v3.4beta024>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* a "``-noninteractive``" flag was added to configure to
+ control whether or not it prints and prompts for configuration information
+* various typos and fixes were made in configure for the the
+ library-only build support (this and other configure fixes from
+ `Richard Mlynarik <mly@adoc.xerox.com>`_)
+* bugs were fixed in the handling of pathnames supplied for external
+ packages; e.g. ``DIR_JPEG``
+* the handling of ``SETMAKE`` is now done properly
+* the default prototype function declaration for :c:func:`pow` was corrected
+* a bug was fixed in :file:`libtiff/Makefile.in` that caused installation
+ to fail on systems without DSO support
+
+
+Library changes
+---------------
+
+* Acorn RISC O/S support that was accidentally left out of the
+ left out of the previous distribution is present (from Peter Greenham)
+* complaints about unknown and/or unsupported codecs have been
+ delayed until they are invoked; this permits applications to open
+ images and look at tags even if the image data is compressed with
+ an unknown/unsupported compression scheme
+* bugs in handling unknown tags have been corrected; applications
+ that use multiple codecs, each with codec-specific tags, no longer
+ generate confusing error messages
+* a missing pseudo-tag definition in the CCITT G3 codec was fixed
+ (this problem caused core dumps in the :program:`tiffcp` program)
+* pseudo-tags are now treated specially; they are always considered
+ to be set (i.e. they do not use bits in the ``FIELD_*`` bit-vectors).
+* the use of strip chopping can now be controlled on a per-file basis
+ through a mode parameter supplied when opening a file ("``C``" to
+ enable strip chopping and "``c``" to disable)
+* two bugs were fixed in the writing of opposite-endian byte-order
+ files
+* support was added for three new fax-related tags registered to
+ SGI: ``FaxRecvParams``, ``FaxRecvTime``, and ``FaxSubAddress``
+* the bit order of image data read and written can now be controlled
+ on a per-file basis through a mode parameter supplied when opening
+ a file ("``B``" to force MSB2LSB bit order, "``L``" for LSB2MSB bit
+ order, and "``H``" for the bit order of the native CPU)
+* the byte order of image and tag data written to newly-created files
+ can now be controlled on a per-file basis through a mode parameter
+ supplied when opening a file ("``b``" to force Big-Endian byte order
+ and "``l``" to force Little-Endian byte order)
+* the use memory-mapped files for images opened read-only can now
+ be controlled on a per-file basis through a mode parameter supplied
+ when opening a file ("``M``" to enable use of memory-mapped files
+ and "``m``" to disable use)
+* the use of the :c:macro:`WIN32` define in :file:`tiffiop.h` has
+ been replaced by :c:macro:`__WIN32__`
+
+
+Tools changes
+-------------
+
+* :program:`fax2ps` now does a ``save`` and ``restore``
+ around each page of PostScript; this fixes a problem with VM
+ overflow when printing a many-page document on some printers
+* a bug in the handling of 3-channel images by :program:`ras2tiff`
+ was fixed
+* :program:`tiffcp` has new options to control the byte order of
+ newly created files: "``-B``" for Big-Endian byte order, "``-L``"
+ for Little-Endian byte order; a "``-M``" option to disable the
+ use of memory-mapped files, and a "``-C``" option to disable the
+ use of strip chopping
+* bugs were fixed in :program:`tiffcp` handling of codec-specific tags
+
+
+Documentation changes
+---------------------
+
+* the :c:func:`TIFFOpen` page has been updated to reflect the new
+ optional open mode parameters
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/win95` contains information and code from `Philippe Tenenhaus
+ <100423.3705@compuserve.com>`_
+ about using the software under Windows 95
+* :file:`contrib/winnt` contains information and code from `Dave Dyer
+ <ddyer@triple-i.com>`_
+ about using the software under Windows NT
diff --git a/doc/v3.4beta029.rst b/doc/v3.4beta029.rst
new file mode 100644
index 00000000..c9112aed
--- /dev/null
+++ b/doc/v3.4beta029.rst
@@ -0,0 +1,52 @@
+Changes in TIFF v3.4beta029
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta029 (no release tag)
+ Previous Version :doc:`v3.4beta028 <v3.4beta028>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* :program:`configure` now relativizes pathname references given in
+ "``-L``" options (as frequently specified when configuring
+ ancillary packages)
+* problems related to configuring the software on Ultrix 4.4 have
+ been corrected
+* the shell to use in Makefiles and scripts can now be set with the
+ ``SCRIPT_SH`` configuration parameter
+* comments in :file:`config.site` now correctly indicate how to setup the
+ use of ancillary packages
+
+
+Library changes
+---------------
+
+* mods for building the software on a Mac using the
+ MetroWerks CodeWarrior compilers
+* a bug in the CCITT T.4/T.6 decoder was fixed where the last codeword in
+ a strip/tile might not be decoded; this was seen only when decoding
+ multi-strip images
+* a bug in the CCITT RLE codecs was fixed whereby the pseudo tags were not
+ being properly registered
+
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/mac-cw` contains information and code from `Niles Ritter
+ <ndr@tazboy.jpl.nasa.gov>`_
+ about building the software with the MetroWerks CodeWarrior compilers
+ on Macintosh systems
diff --git a/doc/v3.4beta031.rst b/doc/v3.4beta031.rst
new file mode 100644
index 00000000..63849589
--- /dev/null
+++ b/doc/v3.4beta031.rst
@@ -0,0 +1,59 @@
+Changes in TIFF v3.4beta031
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta031 (no release tag)
+ Previous Version :doc:`v3.4beta029 <v3.4beta029>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* :program:`configure` now captures significantly more information
+ in the :file:`config.log` file and provides more information when
+ it is unable to setup a configuration
+* support was added for building shared libraries on more systems:
+ AIX, HPUX, Solaris, and Linux.
+* a new configuration parameter ``LIBCOPTS`` was added for
+ passing arguments to the C compiler to use when building only
+ the library; this is part of the enhanced support for building
+ shared libraries
+* include files for optional packages that reside in :file:`/usr/include`
+ are now handled correctly
+* build trees may now be configured using either relative or absolute
+ pathnames to the source distribution
+* several new configuration parameters were added, mainly for building
+ shared libraries: ``DIST_MAJOR``, ``DIST_MINOR``,
+ ``DIST_ALPHA``, and ``DSOSUF_VERSION``
+
+
+Library changes
+---------------
+
+* the Deflate support has been revised: it requires version 0.99 of
+ the zlib software distribution, **the output format has changed and
+ is incompatible with previous versions of this library** (each
+ strip now includes a header read and written by the zlib library)
+* the codec name printed by the :c:func:`TIFFPrintDirectory` routine is now
+ taken from the codec table instead of from a builtin table; this means
+ that application-defined codecs are handled correctly
+* a new symbol was added that contains the library version number;
+ this can be used to do a compile-time compatibility check of the
+ library version
+
+Documentation changes
+---------------------
+
+* the creation and installation of manual pages was redone; it now
+ implements the documented "configuration scheme"
diff --git a/doc/v3.4beta032.rst b/doc/v3.4beta032.rst
new file mode 100644
index 00000000..54cd695e
--- /dev/null
+++ b/doc/v3.4beta032.rst
@@ -0,0 +1,53 @@
+Changes in TIFF v3.4beta032
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta032 (no release tag)
+ Previous Version :doc:`v3.4beta031 <v3.4beta031>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* various fixups and subtle improvements to :program:`configure`
+ from Richard Mlynarik
+
+
+Library changes
+---------------
+
+* a new codec from Pixar designed for high-resolution color images;
+ note that this codec is not configured by default
+* a bug fix for reading tags with a single ``FLOAT`` value
+* change to the :c:func:`TIFFGetField` calling convention:
+ a tag that has a single value of
+ type ``DOUBLE`` is now retrieved by passing a
+ ``double*`` instead of a
+ ``double**`` (this change makes the handling of tags with
+ ``DOUBLE`` values identical to the handling of tags with
+ ``FLOAT`` values)
+* fix to VMS support for the handling of floating point values
+
+
+Tools changes
+-------------
+
+* :program:`tiffdump` now handles tags with ``FLOAT`` and ``DOUBLE``
+ values
+
+
+Contributed software changes
+----------------------------
+
+* updates to the Acorn OS support from Peter Greenham
diff --git a/doc/v3.4beta033.rst b/doc/v3.4beta033.rst
new file mode 100644
index 00000000..2299b2bd
--- /dev/null
+++ b/doc/v3.4beta033.rst
@@ -0,0 +1,45 @@
+Changes in TIFF v3.4beta033
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta033 (aka the v3.4 release) (no release tag)
+ Previous Version :doc:`v3.4beta032 <v3.4beta032>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* support was added for building the library as a DSO under OSF/1
+
+
+Library changes
+---------------
+
+* fixes to the Pixar codec
+* portability mods for VMS
+
+
+Tools changes
+-------------
+
+* fixes to :program:`gif2tiff` and :program:`ppm2tiff` for building under MS/DOS
+* portability mods to :program:`fax2ps` and :program:`ycbcr` for VMS
+
+
+Contributed software changes
+----------------------------
+
+* a new package from Alexander Lehmann
+ for building the library and tools under MS/DOS with DJGPP v2
+* updated VMS support from Karsten Spang
diff --git a/doc/v3.4beta034.rst b/doc/v3.4beta034.rst
new file mode 100644
index 00000000..1189024e
--- /dev/null
+++ b/doc/v3.4beta034.rst
@@ -0,0 +1,37 @@
+Changes in TIFF v3.4beta034
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta034 (no release tag)
+ Previous Version :doc:`v3.4beta033 <v3.4beta033>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* support was added for building the library as a DSO under NetBSD
+* a bug was fixed in the DSO support for Linux
+* the handling of version strings has changed slightly to simplify parsing
+* a new parameter, ``TIFFLIBREF``, was added to control how the
+ library is referenced when linking programs in the :file:`tools` directory
+
+
+Library changes
+---------------
+
+* DSO creation under Solaris now forces the DSO name with a ``-h`` option
+* the interface to the :program:`mkversion` program was changed
+ to eliminate the need to parse files
+* a bug was fixed in the EOL-detection logic of the T.4/T.6 decoder
+* ANSI IT8 TIFF/IT tag definitions were added to :file:`tiff.h`
diff --git a/doc/v3.4beta035.rst b/doc/v3.4beta035.rst
new file mode 100644
index 00000000..cc96db2f
--- /dev/null
+++ b/doc/v3.4beta035.rst
@@ -0,0 +1,32 @@
+Changes in TIFF v3.4beta035
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta035 (no release tag)
+ Previous Version :doc:`v3.4beta034 <v3.4beta034>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* support was added installing the HTML documentation
+* support was added for building the library as a DSO under FreeBSD
+
+
+Library changes
+---------------
+
+* the interface to the :program:`mkversion` program was restored to
+ the form used prior to v3.4beta034
+* several portability problems for 16-bit systems were fixed
diff --git a/doc/v3.4beta036.rst b/doc/v3.4beta036.rst
new file mode 100644
index 00000000..df3b6159
--- /dev/null
+++ b/doc/v3.4beta036.rst
@@ -0,0 +1,86 @@
+Changes in TIFF v3.4beta036
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.4beta036 (no release tag)
+ Previous Version :doc:`v3.4beta035 <v3.4beta035>`
+ Master Download Site `<ftp://ftp.sgi.com/graphics/tiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* support was added for building the library as a DSO under HP-UX with
+ the native C compiler
+* tools are now built with explicit pathnames for the DSO under IRIX,
+ Solaris, and Linux
+* DSO configuration support for Linux was changed to require that
+ :file:`libc.so` only be readable (not executable)
+
+
+Library changes
+---------------
+
+* support was add for ICC: ``NumberOfInks``, and ``ICCProfile``
+* a memory leak caused by doing ``TIFFSetDirectory(0)`` was fixed
+* a bug was fixed whereby certain multi-directory files were not
+ properly handled when accessed by mapping the data into memory
+* the strip chopping support is now always compiled
+ into the library with the default usage controlled by a
+ :c:macro:`STRIPCHOP_DEFAULT` configuration parameter
+* the strip chopping support no longer chops tiled images
+* all static strings are now const---for shared libraries
+* the logic for estimating the strip size of images without
+ ``StripByteCounts`` tag was improved by handling
+ ``PlanarContig`` images differently from ``PlanarSeparate``
+* a bug was fixed in the G3 codec when converting the Y resolution
+ of data specified in metric units
+* a bug was fixed in the G3/G4 decoder for data where lines terminate
+ with a ``v0`` code
+* the ``TIFFRGBAImage`` support was changed to scale 16-bit colormap
+ entries more conservatively to avoid problems with applications
+ that do not generate fully saturated pixel values
+* the LZW decoder was changed to use a more conservative scheme when
+ bounds checking the hash table array; this avoids pitfalls with
+ systems that load objects into memory in unusual locations
+* a bug was fixed in :c:func:`TIFFPrintDirectory` handling of the
+ ``InkNames`` tag
+* :c:func:`TIFFPrintDirectory` now understands ``NumberOfInks``
+ and ICC-related tags
+* the routines for reading image data now provide more useful information
+ when a read error is encountered
+* support was added for compiling with Microsoft Visual C++ 4.0
+
+
+Tools changes
+-------------
+
+* a bug was fixed in :program:`pal2rgb` colormap handling
+* :program:`tiff2ps`:
+
+ * now includes John Wehle's changes for maintaining
+ the aspect ratio of images when scaling and for honoring the deadzone
+ on a page when generating PostScript Level II
+ * does a better job guarding against the mishandling
+ of greyscale images
+ * now correctly converts X- and Y-resolution values
+ specified in metric units
+* :program:`tiffdump`:
+
+ * has a new "``-m``" option to control the maximum number of indirect
+ data values printed for a tag (by default 24)
+ * understands several new tags
+ * now shows any terminating null in ASCII strings
+
+* :program:`tiffinfo` now suppresses strip chopping when interpreting an image;
+ a new "``-z``" option has been added to enable strip chopping
diff --git a/doc/v3.5.1.rst b/doc/v3.5.1.rst
new file mode 100644
index 00000000..3333d0e1
--- /dev/null
+++ b/doc/v3.5.1.rst
@@ -0,0 +1,41 @@
+Changes in TIFF v3.5.1
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.1 (no release tag)
+ Previous Version v3.4beta037 (missing release notes, go to :doc:`v3.4beta036 <v3.4beta036>`)
+ Master Download Site `<ftp://ftp.onshore.com/pub/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+None.
+
+
+Library changes
+---------------
+
+* Support was added for IPTC Newsphoto metadata (:c:macro:`TIFFTAG_IPTCNEWSPHOTO`)
+* Support was added for photoshop caption handling (:c:macro:`TIFFTAG_PHOTOSHOP`)
+
+
+Contributed software changes
+----------------------------
+
+* `Bill Radcliffe's <billr@corbis.com>`_ :program:`iptcutil` was
+ added to the :file:`contrib` subdirectory . It can convert an IPTC binary
+ blob to ASCII text and vice-versa. The blob itself can be extracted
+ from or added to an image with the `ImageMagick <http://www.ImageMagick.org>`_
+ :program:`convert` (1) utility.
diff --git a/doc/v3.5.2.rst b/doc/v3.5.2.rst
new file mode 100644
index 00000000..3286f8dd
--- /dev/null
+++ b/doc/v3.5.2.rst
@@ -0,0 +1,74 @@
+Changes in TIFF v3.5.2
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.2 (no release tag)
+ Previous Version :doc:`v3.5.1 <v3.5.1>`
+ Master Download Site `<ftp://ftp.onshore.com/pub/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* Corrected alpha versioning.
+
+* Removed distinction between alpha and release targets in :file:`Makefile.in`.
+
+* Added release.stamp target, which tags cvs tree, and updates
+ :file:`RELEASE-DATE`
+
+* Added ``releasediff`` target, which diffs tree with source as of
+ date in :file:`RELEASE-DATE`
+
+* Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
+ away from alpha/non-alpha distinctions).
+
+
+Library changes
+---------------
+
+* Added IRIX/gcc, and OSF/1 4.x support on behalf of
+ `Albert Chin-A-Young <china@thewrittenword.com>`_.
+
+* Added :c:func:`TIFFReassignTagToIgnore` API on behalf of
+ `Bruce Cameron <cameron@petris.com>`_. Man page still pending.
+
+* pre-remove :file:`so` link before softlink in ``LINUXdso`` action in
+ :file:`libtiff/Makefile.in` to avoid failure on ``LINUXdso`` builds other than
+ the first.
+
+* Fixed problem with :c:func:`cvtcmap` in :file:`tif_getimage.c` modifying the
+ colormaps owned by the TIFF handle itself when trying to fixup wrong
+ (eight bit) colormaps. Corrected by maintaining a private copy of
+ the colormap.
+
+* Added :c:func:`TIFFReadRGBATile`/:c:func:`TIFFReadRGBAStrip` support in
+ :file:`tif_getimage.c`.
+
+* Applied "``a``" mode fix to :file:`tif_win32.c`/:c:func:`TIFFOpen` as suggested
+ by `Christopher Lawton <clawton@mathworks.com>`_.
+
+* Set ``O_BINARY`` for :file:`tif_unix.c` :c:func:`open` ... used on cygwin for instance.
+
+* Added ``CYGWIN`` case in configure.
+
+* Applied Francois Dagand's patch to handle fax decompression bug.
+ (sizes >= 65536 were failing)
+
+
+Contributed software changes
+----------------------------
+
+* Added :program:`addtiffo` (add overviews to a TIFF file) in contrib. Didn't
+ put it in tools since part of it is in C++.
diff --git a/doc/v3.5.3.rst b/doc/v3.5.3.rst
new file mode 100644
index 00000000..987568de
--- /dev/null
+++ b/doc/v3.5.3.rst
@@ -0,0 +1,97 @@
+Changes in TIFF v3.5.3
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.3 (:tag:`Release-v3-5-3`)
+ Previous Version :doc:`v3.5.2 <v3.5.2>`
+ Master Download Site `<ftp://ftp.onshore.com/pub/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+Please note the most important change: **LZW compression has been removed**.
+
+Unisys has the patent on LZW compression and have been very active in
+their enforcement of late, demanding payments of $5000 or more from
+websites using unlicensed software to create GIF's. They could well
+do the same do persons using libtiff to create LZW compressed TIFF
+images.
+
+From `Burn All GIF's Day <http://burnallgifs.org>`_:
+
+ The catch is that it appears to be difficult or impossible to get a
+ Unisys license to use LZW in free software that complies with the Open
+ Source Definition
+
+Unfortunately, the removal of LZW compression means that saved image size has
+grown dramatically. Without a change in the TIFF spec to support
+another lossless compression format, this is unavoidable.
+
+The library can use zip for lossless compression, but as this is not
+part of the spec, TIFFs using zip compression may not work with other
+software.
+
+We will be making a patch available that will contain the LZW
+compression code for users who have either obtained a license from
+Unisys or are willing to risk it.
+
+LZW decompression is unchanged.
+
+
+Software configuration changes
+------------------------------
+
+* Added zip creation to release makefile target
+
+
+Library changes
+---------------
+
+* Added html for :file:`TIFFWriteTile.3t` man page.
+
+* Added some changes to :file:`tif_write.c` to support rewriting existing
+ fixed sized tiles and strips. Code mods disabled by default, only
+ enabled if :c:macro:`REWRITE_HACK` is defined for now.
+
+* Added :file:`TIFFWriteTile.3t` man page.
+
+* Added notes on use of :file:`makefile.vc` in :file:`build.html`, and fixed
+ email subscription address.
+
+* Did some casts cleaning up to reduce compiler warnings in :file:`tif_fax3.c`,
+ from `Bruce Cameron <cameron@petris.com>`_---modifications of
+ changes made by Frank (sun cc still complained on cast).
+
+* fixed various VC++ warnings as suggested by `Gilles Vollant
+ <info@winimage.com>`_.
+
+* Modified :file:`TIFFquery.3t` man pages info on :c:func:`TIFFIsByteSwapped` to
+ not imply applications are responsible for image data swapping.
+
+* HTML-ized the man pages, added to :file:`html/man`.
+
+* Removed LZW Compression to comply with Unisys patent extortion.
+
+* Corrected one remaining ``16 -> 32`` bit value in :file:`tif_fax3.c`,
+ From `Ivo Penzar <ivo.penzar@infolink-software.com>`_.
+
+* Added patch from Ivo Penzar to have :c:func:`TiffAdvanceDirectory` handle
+ memory mapped files. `Ivo Penzar <ivo.penzar@infolink-software.com>`_.
+
+
+Contributed software changes
+----------------------------
+
+* Fixed apocalypse-inducing y2k bug in :file:`contrib/ras/ras2tiff.c`
diff --git a/doc/v3.5.4.rst b/doc/v3.5.4.rst
new file mode 100644
index 00000000..d0d8349e
--- /dev/null
+++ b/doc/v3.5.4.rst
@@ -0,0 +1,45 @@
+Changes in TIFF v3.5.4
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.4 (:tag:`Release-v3-5-4`)
+ Previous Version :doc:`v3.5.3 <v3.5.3>`
+ Master Download Site `<ftp://ftp.onshore.com/pub/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* None.
+
+
+Library changes
+---------------
+
+* Added Pixar tag support. Contributed by `Phil Beffery <phil@pixar.com>`_.
+* Made one more change to :file:`tif_dir.c` for removal of LZW compression. Also added notice
+ when LZW compression invoked.
+* Fixed bug that caused LZW (non) compression to segfault. Added
+ warning about LZW compression removed being removed, and why.
+
+
+Tools changes
+-------------
+
+* Changed default compression in tools to :c:macro:`TIFF_PACKBITS`, and changed usage descriptions
+ in tools to reflect removal of LZW compression
+* Added ``nostrip`` to install in :file:`tools/Makefile.in` so that debugging
+ symbols are kept.
+* Made Packbits the default compression in :file:`tools/tiff2rgba.c` instead
+ of LZW.
diff --git a/doc/v3.5.5.rst b/doc/v3.5.5.rst
new file mode 100644
index 00000000..a4cb6383
--- /dev/null
+++ b/doc/v3.5.5.rst
@@ -0,0 +1,91 @@
+Changes in TIFF v3.5.5
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.5 (:tag:`Release-v3-5-5`)
+ Previous Version :doc:`v3.5.4 <v3.5.4>`
+ Master Download Site `<ftp://ftp.onshore.com/pub/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* :file:`configure`: added test for libc6 for linux targets. Bug reported by
+ `Stanislav Brabec <utx@k332.feld.cvut.cz>`_.
+* :file:`configure`: fixed bugs in sed scripts
+ (applied sed script ``s:/@:s;@:;s:/s;;:;:`` to configure).
+ fix submitted by `Stanislav Brabec <utx@k332.feld.cvut.cz>`_.
+* :file:`tools/iptcutil` was not in files list, and wasn't being
+ added to tar archive. :file:`Updated Makefile.in`.
+* Added 3.5 docs to :file:`html/Makefile.in`.
+ Thanks to `Stanislav Brabec <utx@k332.feld.cvut.cz>`_
+* Fixed :file:`tools/tiffcmp` so that ``stopondiff`` testing works.
+ Patch care of `Joseph Orost <joe@sanskrit.lz.att.com>`_.
+* Added :file:`fax3sm_winnt.c` to distribution list in :file:`Makefile.in`.
+* Added :file:`libtiff/libtiff.def` to ``TIFFILES`` distribution list.
+
+
+Library changes
+---------------
+
+* :file:`tif_fax3.c`: Fixed serious bug introduced during the ``uint16->uint32``
+ conversion for the run arrays.
+* Set :c:member:`td_sampleformat` default to :c:macro:`SAMPLEFORMAT_UINT` instead of
+ :c:macro:`SAMPLEFORMAT_VOID` in :c:func:`TIFFDefaultDirectory` in :file:`tif_dir.c`.
+* Added "GetDefaulted" support for :c:macro:`TIFFTAG_SAMPLEFORMAT` in :file:`tif_aux.c`.
+* Patched :file:`tif_fax3.c` so that ``dsp->runs`` is allocated a bit bigger
+ to avoid overruns encountered with :file:`frle_bug.tif`.
+* Modified :file:`tif_unix.c` to support 2-4GB seeks if :c:macro:`USE_64BIT_API` is
+ set to 1, and added default (off) setting in :file:`tiffconf.h`. This
+ should eventually be set by the configure script somehow.
+ The original work on all these 2-4GB changes was done by
+ `Peter Smith <psmith@creo.com>`_.
+* Modified :file:`tif_win32.c` to support 2-4GB seeks.
+* tentatively changed :c:type:`toff_t` to be unsigned instead of signed to
+ facilitate support for 2-4GB files.
+* Updated a variety of files to use :c:type:`toff_t`. Fixed some mixups
+ between :c:type:`toff_t` and :c:type:`tsize_t`.
+* Set :c:member:`tif_rawdatasize` to zero when freeing raw data buffer in
+ :c:func:`TIFFWriteDirectory`.
+* Enabled :c:macro:`REWRITE_HACK` in :file:`tif_write.c` by default.
+* Fix bug in :file:`tif_write.c` when switching between reading one directory
+ and writing to another.
+* Made :c:func:`TIFFWriteCheck` public, and added :c:func:`TIFFCreateDirectory`
+* Added :doc:`TIFFmemory` functions to :file:`libtiff.def`.
+* Added :file:`libtiff/libtiff.def` to ``TIFFILES`` distribution list.
+
+
+Tools changes
+-------------
+
+* :program:`fax2ps`:
+
+ * Fixed mixup of width and height in bounding box statement
+ as per submission by `Nalin Dahyabhai <nalin@redhat.com>`_.
+ * Modified :c:var:`printruns` to take :c:type:`uint32` instead of :c:type:`uint16`.
+ Patch courtesy of `Bernt Herd <herd@herdsoft.com>`_.
+* Largely reimplemented :file:`contrib/addtiffo` to avoid temp files,
+ updating the TIFF file in place. Fixed a few other bugs to.
+* Altered descriptions in tools to reflect "by default" lzw not supported
+
+
+LZW compression kit changes
+---------------------------
+
+* created :file:`mangle-src.sh` -- sed scripts to munge src into LZW enabled format.
+ Thanks to `Stanislav Brabec <utx@k332.feld.cvut.cz>`_.
+* created :file:`Makefile`
+* merged :file:`tif_dir.c` with current source.
+* Created lzw compression kit, as a new CVS module (``libtiff-lzw-compression-kit``).
+* Updated :file:`index.html` to note lzw compression kit.
diff --git a/doc/v3.5.6beta.rst b/doc/v3.5.6beta.rst
new file mode 100644
index 00000000..2b72e184
--- /dev/null
+++ b/doc/v3.5.6beta.rst
@@ -0,0 +1,135 @@
+Changes in TIFF v3.5.6beta
+==========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.6beta (no release tag)
+ Previous Version :doc:`v3.5.5 <v3.5.5>`
+ Master Download Site `<ftp://ftp.onshore.com/pub/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* Added ``GNULDdso`` target and switched linux and freebsd to use it.
+* :file:`tools/Makefile.in`: Modified to install properly on SGI.
+* :file:`configure`: Fixed DSO test for Linux as per patch from
+ `Jan Van Buggenhout <chipzz@Ace.ULYSSIS.Student.KULeuven.Ac.Be>`_.
+
+
+Library changes
+---------------
+
+* :file:`tif_dir.c`: Clear :c:macro:`TIFF_ISTILED` flag in :c:macro:`TIFFDefaultDirectory`
+ as per :bugzilla-rs:`18`
+ from `<vandrove@vc.cvut.cz>`_.
+
+* Modified :file:`tif_packbits.c` decoding to avoid overrunning the
+ output buffer, and to issue a warning if data needs to be
+ discarded. See :bugzilla-rs:`18`
+
+* Modified :c:func:`TIFFClientOpen` to emit an error on an attempt to
+ open a compressed file for update (``O_RDWR``/"``r+``") access. This is
+ because the compressor/decompressor code gets very confused when
+ the mode is ``O_RDWR``, assuming this means writing only. See
+ bug :bugzilla-rs:`13`
+
+* Applied patch for 0x0000 sequences in :file:`tif_fax3.h` definition
+ of :c:macro:`EXPAND1D` as per bug :bugzilla-rs:`11` (from Roman).
+
+* Fixed :file:`tiffcomp.h` to avoid win32 stuff if unix ``#defined``, to improve
+ cygwin compatibility.
+
+* Applied patch from Roman Shpount to :file:`tif_fax3.c`. This seems to
+ be a proper fix to the buffer sizing problem. See
+ :bugzilla-rs:`11`
+
+* Fixed :file:`tif_getimage.c` to fix overrun bug with YCbCr images without
+ downsampling. :bugzilla-rs:`10`
+ Thanks to `Nick Lamb <njl98r@ecs.soton.ac.uk>`_ for reporting the
+ bug and proving the patch.
+
+* Fixed :file:`tif_jpeg.c` to avoid destroying the decompressor before
+ we are done access data thanks to bug report from:
+ `Michael Eckstein <eckstein@gepro.cz>`_.
+
+* :file:`tif_open.c`: Don't set ``MMAP`` for ``O_RDWR`` files.
+
+* :file:`tif_open.c`: Set :c:macro:`STRIPCHOP_DEFAULT` for ``O_RDWR`` as well as ``O_RDONLY``
+ so that files opened for update can be strip chopped too.
+
+* :file:`tif_read.c`: fixed up bug with files missing rowsperstrip and
+ the strips per separation fix done a few weeks ago.
+
+* Tentatively added support for :c:macro:`SAMPLEFORMAT_COMPLEXIEEEFP`, and
+ :c:macro:`SAMPLEFORMAT_COMPLEXINT`.
+
+* :file:`index.html`, :file:`bugs.html`: added bugzilla info.
+
+* :file:`tif_read.c`: fix subtle bug with determining the number of
+ rows for strips that are the last strip in a separation but
+ not the last strip of all in :c:func:`TIFFReadEncodedStrip`.
+
+* Applied 16/32 bit fix to :file:`tif_fax3.c`. Fix supplied by
+ `Peter Skarpetis <peters@serendipity-software.com.au>`_.
+
+* Modified :file:`tiffio.h` logic with regard to including :file:`windows.h`. It
+ won't include it when building with :c:macro:`__CYGWIN__`.
+
+* :file:`README`: update to mention {REDACTED - defunct web site}, don't list Sam's old
+ email address.
+
+* :file:`libtiff/tif_dirread.c`: Don't use estimate strip byte count for
+ one tile/strip images with an offset, and byte count of zero. These
+ could be "unpopulated" images.
+
+* :file:`tif_win32.c`: Applied patch to fix overreads and ovverwrites
+ caught by BoundsChecker. From `Arvan Pritchard <arvan.pritchard@infomatix.co.uk>`_ (untested).
+
+* :file:`tif_getimage.c`: Applied patch to silence VC6 warnings. From
+ `Arvan Pritchard <arvan.pritchard@informatix.co.uk>`_.
+
+* :file:`tif_lzw.c`: Applied patch to silence VC6 warnings. From
+ `Arvan Pritchard <arvan.pritchard@informatix.co.uk>`_.
+
+* :file:`libtiff/tif_apple.c`: Applied "Carbon" support patches supplied by
+ `Leonard Rosenthol <leonardr@lazerware.com>`_. May interfere
+ with correct building on older systems. If so, please let me know.
+
+
+Tools changes
+-------------
+
+* :file:`tools/rgb2ycbcr.c`: fixed output strip size to account for vertical
+ roundup if rows_per_strip not a multiple of vertical sample size.
+
+* :file:`tools/tiffsplit.c`: Copy :c:macro:`TIFFTAG_SAMPLEFORMAT`.
+
+* Modified :program:`tiff2bw` to ensure portions add to 100%, and that
+ white is properly recovered. See bug
+ :bugzilla-rs:`15` Patch
+ c/o `Stanislav Brabec <utx@penguin.cz>`_
+
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/addtiffo`: Added "averaging" resampling option.
+
+* Added :file:`contrib/stream` (stream io) code submitted by Avi Bleiweiss.
+
+
+LZW compression kit changes
+---------------------------
+
+* updated :file:`tif_dir.c` to reflect changes to no-lzw :file:`tif_dir.c`.
diff --git a/doc/v3.5.7.rst b/doc/v3.5.7.rst
new file mode 100644
index 00000000..2f2199a1
--- /dev/null
+++ b/doc/v3.5.7.rst
@@ -0,0 +1,219 @@
+Changes in TIFF v3.5.7
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.5.7 (:tag:`Release-v3-5-7`)
+ Previous Version :doc:`v3.5.6beta <v3.5.6beta>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Software configuration changes
+------------------------------
+
+* :file:`libtiff/libtiff.def`: Brent Roman submitted new version adding
+ several missing entry points. Also add a few other entry points
+ later.
+
+* :file:`configure`, :file:`Makefile.in`, etc: added support for ``OPTIMIZER`` being
+ set from :file:`config.site`.
+* :file:`config.guess`: updated wholesale to an FSF version apparently
+ from 1998 (as opposed to 1994). This is mainly inspired by
+ providing for MacOS X support.
+
+* :file:`configure/config.site`: modified to check if ``-lm`` is needed for
+ ``MACHDEPLIBS`` if not supplied by :file:`config.site`. Needed for Darwin.
+* :file:`libtiff/tiff.h`: Applied hack to try and resolve the problem
+ with the :file:`inttypes.h` include file on AIX. (bug :bugzilla-rs:`39`)
+
+* :file:`configure`, :file:`*Makefile.in`: Various changes to improve configuration
+ for HP/UX specifically, and also in general. (bug :bugzilla-rs:`40`) They include:
+
+ * Try to handle :program:`/usr/bin/sh` instead of :program:`/bin/sh` where necessary.
+ * Upgrade to HP/UX 10.x+ compiler, linker and dso options.
+ * Fixed :c:func:`mmap` test to avoid ``MMAP_FIXED`` ... it isn't available on HP
+ * Use ``-${MAKEFLAGS}`` in sub makes from makefiles.
+ * Fixed ``SCRIPT_SH``/``SHELL`` handling.
+
+* :file:`configure`: Changes for DSO generation on AIX provided by
+ `John Marquart <jomarqua@indiana.edu>`_.
+
+* :file:`configure`, :file:`libtiff/Makefile.in`: Modified to build DSOs properly
+ on Darwin thanks to `Robert Krajewski <rpk@alum.mit.edu>`_ and
+ `Keisuke Fujii <fujiik@jlcuxf.kek.jp>`_.
+
+* :file:`configure`, :file:`libtiff/Makefile.in`: applied OpenBSD patches as per bug :bugzilla-rs:`61`.
+
+* :file:`Makefile.in`: added ``DESTDIR`` support as per bug :bugzilla-rs:`60`.
+
+* :file:`libtiff/tif_jpeg.c`: Define :c:macro:`HAVE_BOOLEAN` on windows if :file:`RPCNDR.H`
+ has been included.
+* :file:`man/Makefile.in`: add :c:func:`TIFFClientOpen` link as per debian submitted
+ bug :bugzilla-rs:`66`.
+* :file:`libtiff/Makefile.in`: Fixed ``@DSOSUB_VERSION`` to be ``@DSOSUF_VERSION@``
+ in two places.
+
+
+Library changes
+---------------
+
+* :file:`tif_fax3.c`: keep :c:var:`rw_mode` flag internal to fax3 state to remember
+ whether we are encoding or decoding. This is to ensure graceful
+ recovery if :c:func:`TIFFClientOpen` discovers an attempt to open a compressed
+ file for "``r+``" access, and subsequently close it, as it resets the
+ :c:member:`tif_mode` flag to ``O_RDONLY`` in this case to avoid writes, confusing the
+ compressor's concept of whether it is in encode or decode mode.
+
+* :file:`tif_luv.c`, :file:`tiff.h`, :file:`tiffio.h`:
+ New version of TIFF LogLuv (SGILOG) modules contributed by `Greg Ward
+ <greg@shutterfly.com>`_. He writes:
+
+ * I improved the gamut-mapping function in :file:`tif_luv.c` for imaginary
+ colors, because some images were being super-saturated on the input
+ side and this resulted in some strange color shifts in the output.
+
+ * I added a psuedotag in :file:`tiff.h` to control random dithering during
+ LogLuv encoding. This is turned off by default for 32-bit LogLuv and
+ on for 24-bit LogLuv output. Dithering improves the average color
+ accuracy over the image.
+
+ * I added a ``#define`` for :c:macro:`LOG_LUV_PUBLIC`, which is enabled by default in
+ :file:`tiffio.h`, to expose internal routines for converting between LogLuv and
+ XYZ coordinates. This is helpful for writing more efficient,
+ specialized conversion routines, especially for reading LogLuv files.
+
+* :file:`libtiff/tif_dirinfo.c`: don't declare :c:var:`tiffFieldInfo` static on VMS.
+
+* Added :c:macro:`TIFFTAG_COPYRIGHT` support.
+
+* :file:`tif_getimage.c`: Added support for 16bit minisblack/miniswhite
+ images in RGBA interface.
+
+* :file:`libtiff/tif_dirinfo.c`: removed duplicate :c:macro:`TIFFTAG_PHOTOSHOP` as per
+ bug :bugzilla-rs:`44`.
+
+* :file:`libtiff/tif_dirwrite.c`: Added support for :c:enumerator:`TIFF_VARIABLE2` in the
+ case of writing :c:enumerator:`TIFF_BYTE`/:c:enumerator:`TIFF_SBYTE` fields as per
+ bug :bugzilla-rs:`43`.
+
+* :file:`libtiff/tif_dirinfo.c`: Modified the :c:enumerator:`TIFF_BYTE` definition for
+ :c:macro:`TIFFTAG_PHOTOSHOP` to use a writecount of :c:enumerator:`TIFF_VARIABLE2` (-3) to
+ force use of :c:type:`uint32` counts instead of :c:type:`short` counts.
+
+* :file:`libtiff/tif_dirinfo.c`: moved pixar and copyright flags to ensure everything is in order.
+
+* Integrated experimental OJPEG support from Scott Marovich of HP.
+
+* :file:`libtiff/tif_open.c`: Seek back to zero after failed read, before writing header.
+
+* :file:`libtiff/tiff.h`, :file:`libtiff/tif_fax3.c`: added check for :c:macro:`__LP64__`
+ when checking for 64 bit architectures as per bugzilla bug :bugzilla-rs:`67`.
+
+* :file:`libtiff/tif_getimage.c`: Use :c:func:`memmove` instead of :c:func:`TIFFmemcpy`
+ in :c:func:`TIFFReadRGBATile` to avoid issues in cases of overlapping
+ buffers. See bug :bugzilla-rs:`69` in Bugzilla.
+
+* :file:`libtiff/tif_getimage.c`: Don't complain for CMYK (separated)
+ images with more than four samples per pixel as per bug :bugzilla-rs:`73`.
+
+* :file:`libtiff/tif_getimage.c`: relax handling of contig case where
+ there are extra samples that are supposed to be ignored as per bug :bugzilla-rs:`75`. This
+ should now work for 8bit greyscale or paletted images.
+
+* :file:`libtiff/tif_packbits.c`: fixed memory overrun error as per bug :bugzilla-rs:`77`.
+
+* :file:`libtiff/tif_getimage.c`: Fixed problem with reading strips or
+ tiles that don't start on a tile boundary. Fix contributed by
+ Josep Vallverdu (from HP), and further described in bug :bugzilla-rs:`47`.
+
+* :file:`libtif/tif_fax3.c`: Removed ``#ifdef PURIFY`` logic, and modified to
+ always use the "safe" version, even if there is a very slight
+ cost in performance as per bug :bugzilla-rs:`54`.
+
+* :file:`libtiff/tif_lzw.c`: added dummy :c:func:`LZWSetupEncode` to report an
+ error about LZW not being available.
+
+* :file:`libtiff/tif_dir.c`: propagate failure to initialize compression
+ back from :c:func:`TIFFSetField` as an error status, so applications can
+ detect failure.
+
+* :file:`libtiff/tif_lzw.c`: Avoid MS VC++ 5.0 optimization bug as per bug :bugzilla-rs:`78`.
+
+* :file:`libtiff/tif_dirwrite.c`: added :c:func:`TIFFRewriteDirectory` function.
+ Updated :c:func:`TIFFWriteDirectory` man page to include :c:func:`TIFFRewriteDirectory`.
+
+* :file:`libtiff/tiff.h`: I have created :c:macro:`COMPRESSION_CCITT_T4`,
+ :c:macro:`COMPRESSION_CCITT_T6`, :c:macro:`TIFFTAG_T4OPTIONS` and :c:macro:`TIFFTAG_T6OPTIONS` aliases
+ in keeping with TIFF 6.0 standard in :file:`tiff.h` as per bug :bugzilla-rs:`83`.
+
+* Added :c:macro:`PHOTOMETRIC_ITULAB` as per bug :bugzilla-rs:`90`.
+
+
+Tools changes
+-------------
+
+* Brent Roman contributed updated :program:`tiffcp` utility (and :file:`tiffcp.1`)
+ with support for extracting subimages with the ``,n`` syntax, and also
+ adding the "``-b``" bias removal flag.
+
+* :file:`tiff2ps.c`, :file:`tiff2ps.1`: Substantial changes to :program:`tiff2ps` by
+ Bruce A. Mallett, including a faster encoder, fixes for level
+ 2 PostScript, and support for the imagemask operator.
+
+* fax2ps.c: Helge (libtiff at oldach.net) submitted fix
+ that corrects behaviour for non-Letter paper
+ sizes. (bug :bugzilla-rs:`35`) It fixes two problems:
+
+ Without scaling ("``-S``") the fax is now centered on the page size specified
+ with "``-H``" and/or "``-W``". Before, :program:`fax2ps` was using an obscure and practically
+ useless algorithm to allocate the image relative to Letter sized paper
+ which sometime sled to useless whitespace on the paper, while at the
+ same time cutting of the faxes printable area at the opposite border.
+
+ Second, scaling now preserves aspect ratio, which makes unusual faxes
+ (in particular short ones) print properly.
+
+* :file:`thumbnail.c`: changed default output compression
+ to packbits from LZW since LZW isn't generally available.
+
+* :file:`tiff2rgba.c`: added "``-n``" flag to avoid emitting alpha component. Also added
+ a man page for :program:`tiff2rgba`.
+
+* :file:`tiffcmp.c`: Fixed multi samples per pixel support for :c:func:`ContigCompare`
+ as per bug :bugzilla-rs:`53`.
+ Updated bug section of tiffcmp.1 to note tiled file issues.
+
+* :file:`libtiff/tif_getimage.c`: Fixed so that failure is properly
+ reported by :c:func:`gtTileContig`, :c:func:`gtStripContig`, :c:func:`gtTileSeparate` and
+ :c:func:`gtStripSeparate` as per bug :bugzilla-rs:`51`.
+
+
+Contributed software changes
+----------------------------
+
+* Fixed distribution to include :file:`contrib/addtiffo/tif_ovrcache.c`
+ and :file:`contrib/addtiffo/tif_ovrcache.h`.
+
+
+LZW compression kit changes
+---------------------------
+
+* Rewrote lzw patching process so that is required to enable full
+ LZW support is to drop the :file:`tif_lzw.c` from the
+ ``libtiff-lzw-compression-kit`` over the one in the libtiff directory.
+
+* Some changes were made to make recovery from failure to
+ initialize the LZW compressor more graceful.
+
+* Note that as distributed libtiff support LZW decompression, but
+ not LZW compression.
diff --git a/doc/v3.6.0.rst b/doc/v3.6.0.rst
new file mode 100644
index 00000000..d64754db
--- /dev/null
+++ b/doc/v3.6.0.rst
@@ -0,0 +1,372 @@
+Changes in TIFF v3.6.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.6.0 (:tag:`Release-v3-6-0`)
+ Previous Version :doc:`v3.5.7 <v3.5.7>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+* New utility :program:`raw2tiff` for converting raw rasters into TIFF files.
+* Lots of new :program:`tiff2ps` options.
+* Lots of new :program:`fax2tiff` options.
+* Lots of bug fixes for LZW, JPEG and OJPEG compression.
+
+Custom Tag Support
+^^^^^^^^^^^^^^^^^^
+
+The approach to extending libtiff with custom tags has changed radically.
+Previously, all internally supported TIFF tags had a place in the
+private :c:struct:`TIFFDirectory` structure within libtiff to hold the values (if read),
+and a "field number" (ie. :c:macro:`FIELD_SUBFILETYPE`) used to identify that tag.
+However, every time a new tag was added to the core, the size of the
+:c:struct:`TIFFDirectory` structure would change, breaking any dynamically linked
+software that used the private data structures.
+
+Also, any tag not recognised
+by libtiff would not be read and accessible to applications without some
+fairly complicated work on the applications part to pre-register the tags
+as exemplified by the support for "Geo"TIFF tags by libgeotiff layered on
+libtiff.
+
+Among other things this approach required the extension code
+to access the private libtiff structures ... which made the higher level
+non-libtiff code be locked into a specific version of libtiff at compile time.
+This caused no end of bug reports!
+
+The new approach is for libtiff to read all tags from TIFF files. Those that
+aren't recognised as "core tags" (those having an associated ``FIELD_`` value,
+and place for storage in the :c:struct:`TIFFDirectory` structure) are now read into a
+dynamic list of extra tags (:c:member:`td_customValues` in :c:struct:`TIFFDirectory`). When a new
+tag code is encountered for the first time in a given TIFF file, a new
+anonymous tag definition is created for the tag in the tag definition list.
+The type, and some other metadata is worked out from the instance encountered.
+These fields are known as "custom tags".
+
+Custom tags can be set and fetched normally using :c:func:`TIFFSetField` and
+:c:func:`TIFFGetField`, and appear pretty much like normal tags to application code.
+However, they have no impact on internal libtiff processing (such as
+compression). Some utilities, such as :program:`tiffcp` will now copy these custom
+tags to the new output files.
+
+As well as the internal work with custom tags, new C API entry points
+were added so that extension libraries, such as libgeotiff, could
+define new tags more easily without accessing internal data structures.
+Because tag handling of extension tags is done via the "custom fields"
+mechanism as well, the definition provided externally mostly serves to provide
+a meaningful name for the tag.
+
+The addition of "custom tags" and the altered approach to extending libtiff
+with externally defined tags is the primary reason for the shift to the
+3.6.x version number from 3.5.x.
+
+Software configuration changes
+------------------------------
+
+* :file:`configure`, :file:`config.site`: Fix for large files (>2GiB) support. New
+ option in the config.site: ``LARGEFILE="yes"``. Should be enough for the large
+ files I/O.
+
+* :file:`configure`: Set ``-DPIXARLOG_SUPPORT`` option along with ``-DZIP_SUPPORT``.
+
+* :file:`html/Makefile.in`: Updated to use :program:`groffhtml` for generating html pages
+ from man pages.
+
+* :file:`configure`, :file:`libtiff/Makefile.in`: Added SCO OpenServer 5.0.6 support
+ from John H. DuBois III.
+
+* :file:`libtiff/Makefile.vc`, :file:`libtiff/libtiff.def`: Missed declarations added.
+
+* :file:`libtiff/Makefile.in`, :file:`tools/Makefile.in`: Shared library will not be
+ stripped when installing, utility binaries will do be stripped. As per bug :bugzilla-rs:`93`.
+
+* :file:`man/Makefile.in`: Patch ``DESTDIR`` handling as per bug :bugzilla-rs:`95`.
+
+* :file:`configure`: OpenBSD changes for Sparc64 and DSO version as per bug :bugzilla-rs:`96`.
+
+* :file:`config.site/configure`: added support for ``OJPEG=yes`` option to enable
+ OJPEG support from :file:`config.site`.
+
+* :file:`config.gues`, :file:`config.sub`: Updated from `<ftp.gnu.org/pub/config>`_.
+
+* :file:`configure`: Modify ``CheckForBigEndian`` so it can work in a cross
+ compiled situation.
+
+* :file:`configure`, :file:`libtiff/Makefile.in`: Changes for building on MacOS 10.1
+ as per bug :bugzilla-rs:`94`.
+
+* :file:`html/Makefile.in`: added missing images per bug :bugzilla-rs:`92`.
+
+* :file:`port/Makefile.in`: fixed clean target per bug :bugzilla-rs:`92`.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_getimage.c`: New function :c:func:`TIFFReadRGBAImageOriented`
+ implemented to retrieve raster array with user-specified origin position.
+
+* :file:`libtiff/tif_fax3.c`: Fix wrong line numbering.
+
+* :file:`libtiff/tif_dirread.c`: Check field counter against number of fields.
+
+* Store a list of opened IFD to prevent directory looping.
+
+* :file:`libtiff/tif_jpeg.c`: modified segment_height calculation to always
+ be a full height tile for tiled images. Also changed error to just
+ be a warning.
+
+* :file:`libtiff/tif_lzw.c`: fixed so that decoder state isn't allocated till
+ :c:func:`LZWSetupDecode`. Needed to read LZW files in "``r+``" mode.
+
+* :file:`libtiff/tif_dir.c`: fixed up the :c:member:`tif_postdecode` settings responsible
+ for byte swapping complex image data.
+
+* :file:`libtiff/tif_open.c`: Removed error if opening a compressed file
+ in update mode bug (:bugzilla-rs:`198`).
+
+* :file:`libtiff/tif_write.c`: :c:func:`TIFFWriteCheck` now fails if the image is
+ a pre-existing compressed image. That is, image writing to pre-existing
+ compressed images is not allowed.
+
+* :file:`html/man/*.html`: Web pages regenerated from man pages.
+
+* :file:`libtiff/tif_jpeg.c`: Hack to ensure that "boolean" is defined properly
+ on Windows so as to avoid the structure size mismatch error from libjpeg
+ (bug :bugzilla-rs:`188`).
+
+* :file:`libtiff/tiff.h`: ``#ifdef USING_VISUALAGE`` around previous Visual Age
+ AIX porting hack as it screwed up gcc. (bug :bugzilla-rs:`39`)
+
+* :file:`libtiff/tiff.h`: added :c:macro:`COMPRESSION_JP2000` (34712) for LEAD tools
+ custom compression.
+
+* :file:`libtiff/tif_dirread.c`: Another fix for the fetching ``SBYTE`` arrays
+ by the :c:func:`TIFFFetchByteArray` function. (bug :bugzilla-rs:`52`)
+
+* :file:`libtiff/tif_dirread.c`: Expand ``v[2]`` to ``v[4]`` in :c:func:`TIFFFetchShortPair`
+ as per bug :bugzilla-rs:`196`.
+
+* :file:`libtiff/tif_lzw.c`: Additional consistency checking added in
+ :c:func:`LZWDecode` and :c:func:`LZWDecodeCompat` fixing bugs
+ :bugzilla-rs:`190` and :bugzilla-rs:`100`.
+
+* :file:`libtiff/tif_lzw.c`: Added check for valid code lengths in :c:func:`LZWDecode`
+ and :c:func:`LZWDecodeCompat`. Fixes bug :bugzilla-rs:`115`.
+
+* :file:`tif_getimage.c`: Ensure that :c:func:`TIFFRGBAImageBegin` returns the
+ return code from the underlying pick function as per bug :bugzilla-rs:`177`.
+
+* :file:`libtiff/tif_jpeg.c`, :file:`libtiff/tif_strip.c`, :file:`libtiff/tif_print.c`:
+ Hacked :file:`tif_jpeg.c` to fetch :c:macro:`TIFFTAG_YCBCRSUBSAMPLING` from the jpeg
+ data stream if it isn't present in the tiff tags as per bug :bugzilla-rs:`168`.
+
+* :file:`libtiff/tif_jpeg.c`: Fixed problem with setting of :c:var:`nrows` in
+ :c:func:`JPEGDecode` as per bug :bugzilla-rs:`129`.
+
+* :file:`libtiff/tif_read.c`, :file:`libtiff/tif_write.c`: :c:func:`TIFFReadScanline` and
+ :c:func:`TIFFWriteScanline` now set :c:member:`tif_row` explicitly in case the codec has
+ fooled with the value as per bug :bugzilla-rs:`129`.
+
+* :file:`libtiff/tif_ojpeg.c`: Major upgrade from Scott. Details in bug :bugzilla-rs:`156`.
+
+* :file:`libtiff/tif_open.c`: Pointers to custom procedures
+ in :c:func:`TIFFClientOpen` are checked to be not :c:macro:`NULL` pointers.
+
+* :file:`libtiff/tif_lzw.c`: Assertions in :c:func:`LZWDecode` and :c:func:`LZWDecodeCompat`
+ replaced by warnings. Now libtiff should read corrupted LZW-compressed
+ files by skipping bad strips as per bug :bugzilla-rs:`100`.
+
+* :file:`libtiff/tif_dirwrite.c`, :file:`libtiff/tif_write.c`, :file:`libtiff/tiffio.h`:
+ :c:func:`TIFFCheckpointDirectory` routine added as per bug :bugzilla-rs:`124`.
+ The :doc:`TIFFWriteDirectory` man page discusses this new function as well as the related
+ :c:func:`TIFFRewriteDirectory`.
+
+* :file:`libtiff/tif_codec.c`, :file:`libtiff/tif_compress.c`,
+ :file:`libtiff/tiffiop.h`, :file:`libtiff/tif_getimage.c`:
+ Introduced additional members ``tif->tif_decodestatus`` and ``tif->tif_encodestatus``
+ for correct handling of unconfigured codecs (we should not try to read
+ data or to define data size without correct codecs). See bug :bugzilla-rs:`119`.
+
+* :file:`tif_dirread.c`: avoid div-by-zero if :c:var:`rowbytes` is zero in chop func as
+ per bug :bugzilla-rs:`111`.
+
+* :file:`libtiff/tiff.h`, :file:`libtiff/tif_dir.c`, :file:`libtiff/tif_dir.h`,
+ :file:`libtiff/tif_dirinfo.c`, :file:`libtiff/tif_dirread.c`, :file:`libtiff/tif_dirwrite.c`:
+ Dwight Kelly added get/put code for new tag ``XMLPACKET`` as
+ defined in Adobe XMP Technote. Added missing ``INKSET`` tag value from TIFF 6.0
+ spec ``INKSET_MULTIINK`` (=2). Added missing tags from Adobe TIFF technotes:
+ ``CLIPPATH``, ``XCLIPPATHUNITS``, ``YCLIPPATHUNITS``, ``OPIIMAGEID``, ``OPIPROXY`` and
+ ``INDEXED``. Added ``PHOTOMETRIC`` tag value from TIFF technote 4 ``ICCLAB`` (=9).
+
+* :file:`libtiff/tif_getimage.c`: Additional check for supported codecs added in
+ :c:func:`TIFFRGBAImageOK`, :c:func:`TIFFReadRGBAImage`, :c:func:`TIFFReadRGBAStrip` and
+ :c:func:`TIFFReadRGBATile` now use :c:func:`TIFFRGBAImageOK` before reading a per bug
+ :bugzilla-rs:`110`.
+
+* :file:`libtiff/tif_dir.c`, :file:`libtiff/tif_dir.h`, :file:`libtiff/tif_dirinfo.c`,
+ :file:`libtiff/tif_dirread.c`, :file:`libtiff/tif_dirwrite.c`:
+ Added routine :c:func:`TIFFDataWidth` for determining
+ :c:enum:`TIFFDataType` sizes instead of working with :c:var:`tiffDataWidth` array
+ directly as per bug :bugzilla-rs:`109`.
+
+* :file:`libtiff/tif_dirinfo.c`, :file:`libtiff/tif_dirwrite.c`: Added possibility to
+ read broken TIFFs with ``LONG`` type used for :c:macro:`TIFFTAG_COMPRESSION`,
+ :c:macro:`TIFFTAG_BITSPERSAMPLE`, :c:macro:`TIFFTAG_PHOTOMETRIC` as per bug
+ :bugzilla-rs:`99`.
+
+* :file:`libtiff/tiff.h`, :file:`libtiff/tif_fax3.c`: Add support for
+ :c:macro:``__arch64__`` as per bug :bugzilla-rs:`94`.
+
+* :file:`libtiff/tif_read.c`: Fixed :c:func:`TIFFReadEncodedStrip` to fail if the
+ decodestrip function returns anything not greater than zero as per bug
+ :bugzilla-rs:`97`.
+
+* :file:`libtiff/tif_jpeg.c`: fixed computation of :c:var:`segment_width` for
+ tiled files to avoid error about it not matching the
+ ``cinfo.d.image_width`` values ("JPEGPreDecode: Improper JPEG strip/tile
+ size.") for ITIFF files. Apparently the problem was incorporated since
+ 3.5.5, presumably during the OJPEG/JPEG work recently.
+
+* :file:`libtiff/tif_getimage.c`: If :c:macro:`DEFAULT_EXTRASAMPLE_AS_ALPHA` is 1
+ (defined in :file:`tiffconf.h` - 1 by default) then the RGBA interface
+ will assume that a fourth extra sample is ``ASSOCALPHA`` if the
+ ``EXTRASAMPLE`` value isn't set for it. This changes the behaviour of
+ the library, but makes it work better with RGBA files produced by
+ lots of applications that don't mark the alpha values properly.
+ As per bugs :bugzilla-rs:`93` and :bugzilla-rs:`65`.
+
+* :file:`libtiff/tif_jpeg.c`: allow jpeg data stream sampling values to
+ override those from tiff directory. This makes this work with
+ ImageGear generated files.
+
+
+Tools changes
+-------------
+
+* :program:`tiff2ps`:
+
+ * Added page size setting when creating PS Level 2.
+
+ * Fixed PS comment emitted when FlateDecode is being used.
+
+* :program:`tiffsplit`: increased the maximum number of pages that can be split.
+
+* :program:`raw2tiff`:
+
+ * New utility for turning raw raster images into TIFF files
+ written by Andrey Kiselev.
+
+ * Added option "``-p``" to explicitly select color space of input image data.
+
+* :program:`tiffmedian`: Support for large (> 2GB) images.
+
+* :program:`ppm2tiff`: Fixed possible endless loop.
+
+* :program:`tiff2rgba`: Switched to use :c:func:TIFFReadRGBAImageOriented
+ instead of :c:func:`TIFFReadRGBAImage`.
+
+* :program:`tiffcmp`: Fixed problem with unused data comparing (bug :bugzilla-rs:`349`).
+ "``-z``" option now can be used to set the number of reported different bytes.
+
+* :program:`tiffcp`:
+
+ * Added possibility to specify value -1 to "``-r``" option to get the entire image as one strip
+ (bug :bugzilla-rs:`343`).
+
+ * Set the correct ``RowsPerStrip`` and ``PageNumber`` values (bug :bugzilla-rs:`343`).
+
+ * Fixed problem with colorspace conversion for JPEG encoded images (bugs :bugzilla-rs:`23`
+ and :bugzilla-rs:`275`)
+
+ * Added support for ``Orientation`` tag.
+
+* :program:`fax2tiff`:
+
+ * Page numbering fixed (bug :bugzilla-rs:`341`).
+
+ * Applied patch from Julien Gaulmin. More switches for :program:`fax2tiff` tool for better control
+ of input and output (bugs :bugzilla-rs:`272` and :bugzilla-rs:`293`).
+
+ * Updated to reflect latest changes in libtiff per bug :bugzilla-rs:`125`.
+
+* :program:`ppm2tiff`: PPM header parser improved: now able to skip comments.
+
+* :program:`tiff2ps`:
+
+ * Sebastian Eken provided patches (bug :bugzilla-rs:`200`) to add new these new switches:
+
+ "``-b #``":
+ for a bottom margin of # inches
+ "``-c``":
+ center image
+ "``-l #``":
+ for a left margin of # inches
+ "``-r``":
+ rotate the image by 180 degrees
+
+ Also, new features merged with code for shrinking/overlapping.
+
+ * Force deadzone printing when EPS output specified (bug :bugzilla-rs:`325`).
+
+ * Add ability to generate PS Level 3. It basically allows one to use the ``/flateDecode``
+ filter for ZIP compressed TIFF images. Patch supplied by Tom Kacvinsky
+ (bug :bugzilla-rs:`328`).
+
+ * Don't emit ``BeginData``/``EndData`` DSC comments since we are unable to properly
+ include the amount to skip as per bug :bugzilla-rs:`80`.
+
+ * Added workaround for some software that may crash when last strip of image contains fewer
+ number of scanlines than specified by the ``/Height`` variable as per bug :bugzilla-rs:`164`.
+
+ * Patch from John Williams to add new functionality for splitting long images in several pages as
+ per bug :bugzilla-rs:`142`. New switches:
+
+ "``-H #``":
+ split image if height is more than # inches
+ "``-L #``":
+ overLap split images by # inches
+
+ * New commandline switches to override resolution units obtained from the input file per
+ bug :bugzilla-rs:`131`:
+
+ "``-x``":
+ override resolution units as centimeters
+ "``-y``":
+ override resolution units as inches
+
+ * tiff2ps: Division by zero fixed as per bug :bugzilla-rs:`88`.
+
+* :program:`tiffdump`: include :c:macro:`TIFFTAG_JPEGTABLES` in tag list.
+
+* :program:`tiffset`: fix bug in error reporting.
+
+
+Contributed software changes
+----------------------------
+
+* Fixed distribution to include :file:`contrib/addtiffo/tif_ovrcache.c`, :file:`contrib/addtiffo/tif_ovrcache.h`.
+
+* :file:`libtiff/contrib/win95`: renamed to :file:`contrib/win_dib`. Added new
+ :file:`Tiffile.cpp` example of converting TIFF files into a DIB on Win32 as per
+ bug :bugzilla-rs:`143`.
+
+
+LZW compression kit changes
+---------------------------
+
+* LZW compression kit synchronized with actual libtiff version.
diff --git a/doc/v3.6.1.rst b/doc/v3.6.1.rst
new file mode 100644
index 00000000..f648dc22
--- /dev/null
+++ b/doc/v3.6.1.rst
@@ -0,0 +1,135 @@
+Changes in TIFF v3.6.1
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.6.1 (:tag:`Release-v3-6-1`)
+ Previous Version :doc:`v3.6.0 <v3.6.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+* New utility :program:`tiff2pdf`
+ for converting TIFF images directly into PDF.
+* New :doc:`TIFFColor` color conversion module.
+* Full support for ``Orientation`` tag in ``TIFFRGBAImage`` interface.
+* Many bugs fixed.
+
+
+Software configuration changes
+------------------------------
+
+* :file:`libtiff/makefile.vc`, :file:`tools/makefile.vc`: Support for IJG JPEG library.
+
+* :file:`Makefile.in`: Add an absolute path to the :file:`test_pics.sh` call.
+
+* :file:`Makefile.in`: Add an absolute path to the :file:`test_pics.sh` call.
+
+* :file:`libtiff/tiffcomp.h`: ``#define _BSDTYPES_DEFINED`` when defining BSD typedefs.
+
+* :file:`configure`, :file:`libtiff/Makefile.in`, :file:`libtiff/mkversion.c`: Relative buildings fixed.
+
+* :file:`Makefile.in`: Add an absolute path to the :file:`test_pics.sh` call.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_color.c`, :file:`libtiff/tif_getimage.c`, :file:`libtiff/tiffio.h`:
+ Added support for ``ReferenceBlackWhite`` tag handling when converted from YCbCr color space as
+ per bug :bugzilla-rs:`120`.
+
+* :file:`libtiff/tif_getimage.c`, :file:`libtiff/tif_aux.c`: Read ``WhitePoint`` tag from the
+ file and properly use it for CIE Lab 1976 to RGB transform.
+
+* :file:`libtiff/tif_getimage.c`, :file:`libtiff/tiffio.h`: Finally resolved problems with
+ orientation handling. ``TIFFRGBAImage`` interface now properly supports all
+ possible orientations, i.e. images will be flipped both in horizontal and
+ vertical directions if required. 'Known bugs' section now removed from the
+ appropriate manual pages.
+
+* :file:`libtiff/tif_luv.c`: Fixed bug in 48-bit to 24-bit conversion routine,
+ reported by Antonio Scuri.
+
+* :file:`libtiff/tiffio.h`, :file:`libtiff/tif_codec.c`: Added new function
+ :c:func:`TIFFIsCODECConfigured`, suggested by Ross Finlayson.
+
+* :file:`libtiff/tif_ojpeg.c`: :c:func:`TIFFVGetField` function now can properly extract
+ the fields from the OJPEG files. Patch supplied by Ross Finlayson.
+
+* :file:`libtiff/tif_dir.h`: :c:func:`_TIFFFindOrRegisterdInfo` declaration replaced
+ with :c:func:`_TIFFFindOrRegisterFieldInfo` as reported by Ross Finlayson.
+
+* :file:`libtiff/tif_dirinfo.c`: Implemented binary search in :c:func:`_TIFFMergeFieldInfo`.
+ Patch supplied by Ross Finlayson.
+
+* :file:`tif_dirread.c`: do not mark all anonymously defined tags to be ``IGNORE`` (as
+ it was done in 3.6.0).
+
+* :file:`libtiff/tiff.h`, :file:`libtiff/tif_dirinfo.c`: Added support for IFD (13) datatype,
+ introduced in "Adobe PageMaker TIFF Technical Notes".
+
+* :file:`libtiff/tif_color.c`, :file:`libtiff/tif_getimage.c`, :file:`libtiff/tiffio.h`: New color space
+ conversion code: CIE L*a*b* 1976 images now supported by the ``TIFFRGBAImage``
+ interface. YCbCr to RGB conversion code also moved there and now has
+ :doc:`TIFFcolor` publicly available interface. These
+ routines currently used in ``TIFFRGBAImage`` interface only and not supported in
+ other libtiff tools yet. So if you want, for example, to convert CIE Lab image
+ into PostScript file you should do it in two steps: change colorspace to RGB
+ using :program:`tiff2rgba` utility and then process
+ it with the :program:`tiff2ps`.
+
+* :file:`libtiff/tif_tile.c`: Remove spurious use of "s" (sample) in the
+ ``planarconfig_contig`` case in :c:func:`TIFFComputeTile` as per bug :bugzilla-rs:`387`.
+
+* :file:`libtiff/tiffiop.h`: New macros: :c:macro:`TIFFmax` and :c:macro:`TIFFmin`.
+
+* :file:`libtiff/tiffio.h`, :file:`libtiff/tif_strip.c`: Added :c:func:`TIFFRawStripSize` function
+ as suggested by Chris Hanson.
+
+* :file:`libtiff/tif_lzw.c`, :file:`libtiff/tif_fax3.c`: Proper support for update mode
+ as per bug :bugzilla-rs:`424`.
+
+
+Tools changes
+-------------
+
+* :program:`tiff2pdf`:: New tool, written by
+ Ross Finlayson, to directly convert TIFF files to PDF.
+
+* :program:`tiffgt`: Unmaintained and platform
+ dependent sgigt utility removed and replaced with the completely rewritten
+ portable tool (depend on OpenGL and
+ GLUT). This tool will not build by default.
+
+* :program:`ras2tiff`: Properly determine
+ SUN Rasterfiles with the reverse byte order (it is reported by the magic
+ header field). Problem reported by Andreas Wiesmann.
+
+* :program:`raw2tiff`: Implemented image size
+ guessing using correlation coefficient calculation between two neighbour
+ lines.
+
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/pds/tif_pdsdirread.c`, :file:`contrib/pds/tif_pdsdirwrite.c`:
+ Use :c:func:`TIFFDataWidth` function instead of :c:var:`tiffDataWidth` array.
+
+LZW compression kit changes
+---------------------------
+
+* Proper support for update mode as per bug :bugzilla-rs:`424`.
diff --git a/doc/v3.7.0.rst b/doc/v3.7.0.rst
new file mode 100644
index 00000000..b04ea491
--- /dev/null
+++ b/doc/v3.7.0.rst
@@ -0,0 +1,78 @@
+Changes in TIFF v3.7.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.0 (:tag:`Release-v3-7-0`)
+ Previous Version :doc:`v3.7.0beta2 <v3.7.0beta2>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+
+* Several bugs found after 3.7.0beta2 release were fixed.
+
+
+Software configuration changes
+------------------------------
+
+* :file:`ltmain.sh`: Fix for MinGW compilation.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_dirread.c`, :file:`libtiff/tif_jpeg.c`, :file:`libtiff/tif_luv.c`,
+ :file:`libtiff/tif_ojpeg.c`, :file:`libtiff/tif_pixarlog.c`, :file:`libtiff/tif_write.c`:
+ Handle the zero strip/tile sizes properly (Dmitry V. Levin, Marcus Meissner).
+
+* :file:`libtiff/tif_dirinfo.c`: Type of the :c:macro:`TIFFTAG_SUBIFD` field changed
+ to :c:enumerator:`TIFF_IFD`.
+
+* Preliminary support for BigTIFF files: now libtiff can
+ recognize and reject to open such images. ;-)
+
+* :file:`libtiff/tif_dir.c`: Initialize :c:member:`td_tilewidth` and :c:member:`td_tilelength` fields
+ of the :c:struct:`TIFFDirectory` structure with the 0 instead of -1 to avoid
+ confusing integer overflows in :c:func:`TIFFTileRowSize` for striped images.
+
+* :file:`libtiff/tif_dirinfo.c`: Fix bug with ``tif_foundfield`` and reallocation
+ of ``tif_fieldinfo`` as per bug
+ :bugzilla-rs:`630`
+
+* :file:`libtiff/tif_compress.c`: Improved error reporting in
+ :c:func:`TIFFGetConfiguredCODECs` (Dmitry V. Levin).
+
+
+Tools changes
+-------------
+
+* :file:`tiffcmp.c` (:c:func:`leof`): Renamed from "``eof``" in order to avoid
+ conflict noticed under MinGW.
+
+* :file:`tiff2pdf.c`: Fixed ``TransferFunction`` tag handling reported
+ by Ross A. Finlayson.
+
+
+Contributed software changes
+----------------------------
+
+* None.
+
+
+LZW compression kit changes
+---------------------------
+
+* This one is not longer needed.
diff --git a/doc/v3.7.0alpha.rst b/doc/v3.7.0alpha.rst
new file mode 100644
index 00000000..cc254621
--- /dev/null
+++ b/doc/v3.7.0alpha.rst
@@ -0,0 +1,179 @@
+Changes in TIFF v3.7.0alpha
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.0alpha (:tag:`Release-v3-7-0-alpha`)
+ Previous Version :doc:`v3.6.1 <v3.6.1>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+* Significant changes in software configuration: we are switched
+ to GNU autotools now.
+
+* :program:`tiffset`: Set any libtiff supported tags. Tags
+ can be supplied by the mnemonic name or number.
+
+
+Software configuration changes
+------------------------------
+
+* Get rid of the old configuration system and switch to
+ GNU autotools.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_ojpeg.c`: Fixed problem with duplicated ``SOI`` and ``SOF``
+ markers as per bug
+ :bugzilla-rs:`581`.
+
+* :file:`libtiff/tif_open.c`, :file:`libtiff/tiffio.h`: New function added:
+ :c:func:`TIFFIsBigEndian`. Function returns nonzero if given was file written
+ in big-endian order.
+
+* :file:`libtiff/tif_print.c`: added (untested) support for printing
+ ``SSHORT``, ``SLONG`` and ``SRATIONAL`` fields.
+
+* :file:`libtiff/tif_fax3.c`: Avoid reading CCITT compression options
+ if compression type mismatches. See
+ :bugzilla-rs:`565`.
+
+* :file:`libtiff/tif_strip.c`: Never return 0 from the :c:func:`TIFFNumberOfStrips`.
+
+* :file:`libtiff/tif_dirread.c`: Workaround for broken TIFF writers which
+ store single ``SampleFormat`` value for multisampled images. See
+ :bugzilla-rs:`562`.
+
+* :file:`libtiff/tif_write.c`: Allow in-place updating of the compressed
+ images (don't work properly with all codecs). For details see GDAL bug
+ :bugzilla-rs:`534`.
+
+* :file:`libtiff/tif_jpeg.c`: Workaround for wrong sampling factors used
+ in the Intergarph JPEG compressed TIFF images as per bug:
+ :bugzilla-rs:`532`.
+
+* :file:`libtiff/tif_open.c`: Use dummy :c:func:`mmap`/:c:func:`munmap` functions in
+ :c:func:`TIFFClientOpen` when the appropriate client functions was not
+ supplied by user.
+
+* :file:`libtiff/tif_dirread.c`: Fixed problem with handling :c:enumerator:`TIFF_UNDEFINED`
+ tag type in :c:func:`TIFFFetchNormalTag` as per bug
+ :bugzilla-rs:`508`.
+
+* :file:`libtiff/tif_codec.c`: Fixed typo in ``TIFFInitPackBits`` name as per:
+ :bugzilla-rs:`494`.
+
+* :file:`libtiff/tif_fax3.c`: Fixed problem, introdiced in 3.6.1 release,
+ with the CCITT encoding modes as per bug
+ :bugzilla-rs:`483`.
+ We need more work on fax codec to support update mode.
+
+* :file:`libtiff/tiff.h`: Fixed tag definitions for :c:macro:`TIFFTAG_YCLIPPATHUNITS`
+ and :c:macro:`TIFFTAG_INDEXED` as per bug
+ :bugzilla-rs:`475`.
+
+* :file:`libtiff/tif_win32.c`, :file:`libtiff/tif_unix.c`: Check whether the pointer is
+ :c:macro:`NULL` before proceeding further as per bug
+ :bugzilla-rs:`474`.
+
+ Check results, returned by the :c:func:`TIFFFdOpen` before returning and close
+ file if :c:func:`TIFFFdOpen` failed as per bug
+ :bugzilla-rs:`468`.
+
+* :file:`libtiff/libtiff.def`, :file:`libtiff/tif_close.c`,
+ :file:`libtiff/tiffio.h`, :file:`libtiff/tif_open.c`:
+ Separate :c:func:`TIFFCleanup` from the :c:func:`TIFFClose` in order to fix the bug
+ :bugzilla-rs:`468`.
+
+* :file:`libtiff/tif_dirwrite.c`: Fixed handling of writable ASCII tags
+ that are ``field_passcount=TRUE`` properly. Arguably anonymous custom
+ tags should be declared as ``passcount=FALSE``, but I don't want to change
+ that without a careful review.
+
+* :file:`libtiff/tif_write.c`: Fixed reporting size of the buffer in case
+ of stripped image in :c:func:`TIFFWriteBufferSetup`. As per bug
+ :bugzilla-rs:`460`.
+
+* :file:`libtiff/tif_dir.c`: Incomplete cleanup in :c:func:`TIFFFreeDirectory`,
+ patch from Gerben Koopmans.
+
+* :file:`libtiff/tif_dirread.c`: Check :c:member:`field_passcount` value before setting
+ the value of undefined type, patch from Gerben Koopmans.
+
+* :file:`libtiff/tiff.h`, :file:`libtiff/tif_fax3.c`:
+ Fixes for AMD 64 platform as suggested by Jeremy C. Reed.
+
+* :file:`libtiff/tif_win32.c`: Fixed problem with :c:func:`_TIFFrealloc` when
+ the :c:macro:`NULL` pointer passed. Patch supplied by Larry Grill.
+
+
+Tools changes
+-------------
+
+* :program:`tiffset`: Set any libtiff supported tags. Tags
+ can be supplied by the mnemonic name or number.
+
+* :file:`ycbcr.c`: fixed :c:func:`main` declaration as per:
+ :bugzilla-rs:`513`.
+
+* :program:`tiffsplit`: Don't forget
+ to copy ``PhotometricInterpretation`` tag.
+
+* :program:`tiffsplit`:
+
+ * Fixed problem with
+ unproperly written multibyte files. Now output files will be written
+ using the same byte order flag as in the input image. See
+ :bugzilla-rs:`574`.
+
+ * Copy ``JPEGTables``
+ tag contents for JPEG compressed images. Reported by Artem Mirolubov.
+
+* :program:`tiffcp`:
+
+ * Close output file on normal exit.
+
+ * Don't emit warnings
+ when ``Orientation`` tag does not present in the input image.
+
+ * Properly set
+ Photometric Interpretation in case of JPEG compression of grayscale
+ images.
+
+ * Fixed problem with wrong
+ interpretation of the ``InkNames`` tag as per bug
+ :bugzilla-rs:`466`.
+ Memory leak fixed.
+
+ * Fixed problem with
+ wrong ``PhotometricInterpretation`` setting for non-RGB images.
+
+
+Contributed software changes
+----------------------------
+
+* Outdated stuff removed.
+
+* Almost all programs are synchronized with the current libtiff
+ and should compile without problems.
+
+
+LZW compression kit changes
+---------------------------
+
+* No changes.
diff --git a/doc/v3.7.0beta.rst b/doc/v3.7.0beta.rst
new file mode 100644
index 00000000..8239faae
--- /dev/null
+++ b/doc/v3.7.0beta.rst
@@ -0,0 +1,98 @@
+Changes in TIFF v3.7.0beta
+==========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.0beta (:tag:`Release-v3-7-0beta`)
+ Previous Version :doc:`v3.7.0alpha <v3.7.0alpha>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+* LZW compression enabled by default. You don't need the separate
+ compression kit anymore.
+
+* :program:`bmp2tiff`: Added new utility to convert Windows BMP files
+ into TIFFs.
+
+* The first attempt to implement a test suite.
+
+
+Software configuration changes
+------------------------------
+
+* Many portability fixes in the new autotooled build suite.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_luv.c`, :file:`libtiff/tif_next.c`, :file:`libtiff/tif_thunder.c`:
+ Several buffer overruns fixed, as noted by Chris Evans.
+
+* BSD data types (:c:type:`u_char`, :c:type:`u_short`, :c:type:`u_int`, :c:type:`u_long`)
+ is no longer used internally in the libtiff. Should result in simpler configuration
+ and better portability.
+
+* :file:`libtiff/tiff.h`: Fix column tagging. Reference current Adobe XMP
+ specification. Reference libtiff bug tracking system to submit
+ private tag additions.
+
+* :file:`libtiff/tif_dirread.c`: Don't reject to read tags of the
+ ``SamplesPerPixel`` size when the tag count is greater than number of
+ samples as per bug
+ :bugzilla-rs:`576`.
+
+* :file:`libtiff/tiffio.h`, :file:`libtiff/tif_open.c`: Applied patches from
+ Joris Van Damme to avoid requirement for :file:`tiffiop.h` inclusion in
+ some applications. Look for details here:
+ `<http://www.asmail.be/msg0054799560.html>`_.
+
+* :file:`libtiff/tiffiop.h`, :file:`libtiff/tif_dirinfo.c`: Fixed problem with the static
+ variable as per bug
+ :bugzilla-rs:`593`.
+
+* :file:`libtiff/tif_lzw.c`: LZW compression code is merged back from the
+ separate package. All libtiff tools are updated to not advertise an
+ absence of LZW support.
+
+* :file:`libtiff/tif_dir.c`: Call :c:func:`TIFFError` instead of producing warnings
+ when setting custom tags by value. Reported by Eric Fieleke.
+
+
+Tools changes
+-------------
+
+* :program:`tiff2ps`: Avoid zero division in :c:func:`setupPageState` function;
+ properly initialize array in :c:func:`PSDataBW`.
+
+* :program:`tiff2pdf`: Multiple bugfixes.
+
+* :program:`ras2tiff`: Fixed issue with missed big-endian checks as per bug
+ :bugzilla-rs:`586`.
+
+* :program:`bmp2tiff`: Added new utility to convert Windows BMP files
+ into TIFFs.
+
+
+Contributed software changes
+----------------------------
+
+* No changes.
+
+LZW compression kit changes
+---------------------------
+
+* This one is not longer needed.
diff --git a/doc/v3.7.0beta2.rst b/doc/v3.7.0beta2.rst
new file mode 100644
index 00000000..832123c3
--- /dev/null
+++ b/doc/v3.7.0beta2.rst
@@ -0,0 +1,69 @@
+Changes in TIFF v3.7.0beta2
+===========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.0beta2 (:tag:`Release-v3-7-0beta2`)
+ Previous Version :doc:`v3.7.0beta <v3.7.0beta>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+* The code has been reviewed by Dmitry Levin: added checks
+ for values, returned by the space allocation functions, fixed
+ problems with the possible integer overflows.
+
+
+Software configuration changes
+------------------------------
+
+* Several fixes in the test suite.
+
+
+Library changes
+---------------
+
+* Preliminary support for BigTIFF files: now libtiff can
+ recognize and reject to open such images. ;-)
+
+* :file:`libtiff/tif_dirinfo.c`: changed type of XMLPacket (tag 700) to
+ :c:enumerator:`TIFF_BYTE` instead of :c:enumerator:`TIFF_UNDEFINED` to comply with the info
+ in the Adobe XMP Specification.
+
+* Added many checks for integer overflow and for successful space
+ allocations in the different parts of library. Code review
+ completed by Dmitry V. Levin.
+
+* :file:`libtiff/tiffio.h`, :file:`libtiff/tif_compress.c`: Added
+ :c:func:`TIFFGetConfiguredCODECs` function to get the list of configured codecs.
+
+
+Tools changes
+-------------
+
+* :file:`tiff2bw`: Write ``ImageWidth``/``ImageHeight`` tags to output file, as
+ noted by Gennady Khokhorin.
+
+
+Contributed software changes
+----------------------------
+
+* No changes.
+
+
+LZW compression kit changes
+---------------------------
+
+* This one is not longer needed.
diff --git a/doc/v3.7.1.rst b/doc/v3.7.1.rst
new file mode 100644
index 00000000..65a22b11
--- /dev/null
+++ b/doc/v3.7.1.rst
@@ -0,0 +1,160 @@
+Changes in TIFF v3.7.1
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.1 (:tag:`Release-v3-7-1`)
+ Previous Version :doc:`v3.7.0 <v3.7.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+
+Major changes
+-------------
+
+* This is mostly bugfix release. Most important fix is the one
+ related to wrong custom tag read/write code.
+
+
+Software configuration changes
+------------------------------
+
+* :file:`autogen.sh`: :program:`aclocal` and :program:`autoheader`
+ should be executed after :program:`libtoolize`.
+ Also add ``-I .`` to aclocal invocation to check
+ current directory for macros.
+
+* nmake.opt: Link with the :file:`user32.lib` in windowed mode. As per bug
+ :bugzilla-rs:`697`
+
+* :file:`nmake.opt`, :file:`makefile.vc`: make it easier to rename the libtiff DLL.
+
+* :file:`configure`, :file:`configure.ac`: Added ``--enable-rpath`` option to embed
+ linker paths into library binary.
+
+
+Library changes
+---------------
+
+* :file:`tiff.h`: Revert back libtiff data type definitions as per
+ bug :bugzilla-rs:`687`
+
+* :file:`tif_dirread.c`: Do not forget about :c:macro:`TIFF_VARIABLE2` when
+ checking for tag count in :c:func:`TIFFReadDirectory` function. As per bug
+ :bugzilla-rs:`713`
+
+* :file:`tif_getimage.c`: Support for multiple-alpha-channelled
+ RGB-images as per bug
+ :bugzilla-rs:`718`
+
+* :file:`tif_getimage.c`: ``#define A1`` bracketing for clean build on
+ SunPro compiler.
+
+* :file:`tif_dirwrite.c`: Always write :c:macro:`TIFFTAG_SUBIFD` using ``LONG`` type
+ as per bugs
+ :bugzilla-rs:`703` and
+ :bugzilla-rs:`704`.
+
+* :file:`tif_win32.c`: Use :c:type:`char*` strings instead of :c:type:`TCHAR` in windowed
+ mode as per bug
+ :bugzilla-rs:`697`
+
+* :file:`tif_dir.c`, :file:`tif_dirread.c`: Remove :c:func:`TIFFReassignTagToIgnore`
+ call from the :c:func:`TIFFReadDirectory` function. :c:func:`TIFFReassignTagToIgnore`
+ must be removed in the future, as it was never used properly. As per
+ bug :bugzilla-rs:`692`
+
+* :file:`tif_jpeg.c`: Added a work-around in order to allow
+ compilation with the heavily modified version of libjpeg delivered
+ with Cygwin.
+
+* :file:`tif_dir.c`: Properly handle tags, which have the :c:type:`uint32`
+ counts. As per bug
+ :bugzilla-rs:`693`
+
+* :file:`tif_unix.c`: Make UNIX module compilable (and usable)
+ on Windows.
+
+* :file:`tiff.h`: Added Adobe DNG tags.
+
+* :file:`tif_aux.c`: Set the appropriate ``ReferenceBlackWhite`` array for
+ YCbCr image which lacks that tag (noted by Hans Petter Selasky).
+
+* :file:`tif_color.c`: Division by zero fixed (Hans Petter Selasky).
+
+* :file:`tif_stream.cxx`, :file:`tiffio.h`: Added C++ stream interface
+ contributed by Edward Lam (see
+ :bugzilla-rs:`654`
+ for details). Those who want to use C++ streams should
+ ``#include <tiffio.hxx>``.
+
+* :file:`tif_open.c`: Removed :c:func:`close` in :c:func:`TIFFClientOpen` if file
+ is bad. This is the callers responsibility.
+ :bugzilla-rs:`651`
+
+* :file:`tiffio.h`, :file:`tif_win32.c`, :file:`libtiff.def`: Added :c:func:`TIFFOpenW`
+ function to work with the double byte strings (used to represent
+ filenames in some locales). As per bug
+ :bugzilla-rs:`625`
+
+* :file:`tif_dirread.c`: Fixed problem when fetching ``BitsPerSample`` and
+ ``Compression`` tags of type ``LONG`` from broken TIFFs as per bug
+ :bugzilla-rs:`662`
+
+* :file:`tif_dirinfo.c`: Fixed definition for ``TIFFTAG_RICHTIFFIPTC``,
+ the writecount should have :c:type:`uint32` type. As per bug
+ :bugzilla-rs:`662`
+
+* :file:`tif_write.c`: Fixed wrong ``if()`` statement in
+ :c:func:`TIFFAppendToStrip` function as per bug
+ :bugzilla-rs:`660`
+
+* :file:`tif_dirinfo.c`: Change definition for ``TIFFTAG_EXTRASAMPLES``
+ field. The caller should supply a count when setting this field. As
+ per bug :bugzilla-rs:`648`.
+
+* :file:`tif_jpeg.c`, :file:`tif_ojpeg.c`: ``TIFFTAG_JPEGTABLES`` should have
+ uint32 count. Use this type everywhere.
+
+* :file:`tif_next.c`: avoid use of :c:type:`u_long` and :c:type:`u_char` types.
+
+* :file:`tif_fax3.c`: Fixed case with the wrong decode routines
+ choosing when the incorrect ``Group4Options`` tag set. As per bug
+ :bugzilla-rs:`323`
+
+* :file:`tif_dirwrite.c`: Fixed problem with passing count variable of
+ wrong type when writing the :c:macro:`TIFF_BYTE`/:c:macro:`TIFF_SBYTE` tags in
+ :c:func:`TIFFWriteNormalTag`.
+
+* :file:`tif_compress.c`: Zero division problem fixed (Vladimir Nadvornik,
+ Dmitry V. Levin).
+
+
+Tools changes
+-------------
+
+* :file:`fax2ps.c`: Be able to extract the first page (#0). As per bug
+ :bugzilla-rs:`690`
+
+* :file:`tiff2ps.c`: Fixed wrong variable data type when read ``Position``
+ tags (Tristan Hill).
+
+* :file:`tiff2ps.c`: Fixed wrong variable data type when read ``Resolution``
+ tags (Peter Fales).
+
+* :file:`tiffset.c`: Check the :c:func:`malloc` return value (Dmitry V. Levin).
+
+
+Contributed software changes
+----------------------------
+
+* None.
diff --git a/doc/v3.7.2.rst b/doc/v3.7.2.rst
new file mode 100644
index 00000000..ae877253
--- /dev/null
+++ b/doc/v3.7.2.rst
@@ -0,0 +1,142 @@
+Changes in TIFF v3.7.2
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.2 (:tag:`Release-v3-7-2`)
+ Previous Version :doc:`v3.7.1 <v3.7.1>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* Maintenance release. Many bugfixes in the build environment
+ and compatibility improvements.
+
+
+Software configuration changes
+------------------------------
+
+* :file:`configure.ac`: Use ``-rpath`` option instead of ``-R`` as per bug
+ :bugzilla-rs:`732`
+
+* :file:`tif_stream.cxx`: Fixes for C++ stream interface from
+ Michael Rinne and Edward Lam.
+
+* :file:`configure.ac`: Make the documentation directory location
+ configurable via the ``--with-docdir`` option (as suggested by
+ Jeremy C. Reed).
+
+* Place the C++ stream API in the separate library called
+ ``libtiffxx`` to avoid unneeded dependencies. Probably there will be
+ more C++ API in the future. As per bugs
+ :bugzilla-rs:`733`
+ and :bugzilla-rs:`730`
+
+* :file:`configure`, :file:`configure.ac`: Replace ``--disable-c++`` with the
+ ``--disable-cxx`` option as per bug
+ :bugzilla-rs:`730`.
+
+
+Library changes
+---------------
+
+* Applied patch from Lee Howard to support a new tag ``TIFFTAG_FAXDCS``
+ (34911) used in HylaFax software. As per bug
+ :bugzilla-rs:`771`
+
+* :file:`tif_open.c`: Remove unnecessary :c:func:`TIFFSeekFile` call as per
+ bug :bugzilla-rs:`756`
+
+* :file:`tiff.h`: Changed the :c:type:`int8` definition to be always :c:type:`signed char`
+ as per bug
+ :bugzilla-rs:`727`
+
+* :file:`tiffio.h`: Move :c:func:`TIFFOpenW` function into the ``extern "C"{}``
+ block as per bug
+ :bugzilla-rs:`763`
+
+* :file:`tif_dirread.c`: Estimate strip size in case of wrong or
+ suspicious values in the tags. As per bugs
+ :bugzilla-rs:`705`
+ and :bugzilla-rs:`320`
+
+* :file:`tif_color.c`: Use double as the second argument of :c:func:`pow`
+ function in :c:func:`TIFFCIELabToRGBInit`. As per bug
+ :bugzilla-rs:`741`
+
+* :file:`tif_pixarlog.c`: Avoid warnings when converting float to
+ integer as per bug
+ :bugzilla-rs:`740`
+
+* :file:`tif_getimage.c`: Always fill the error message buffer in
+ :c:func:`TIFFRGBAImageBegin` as per bug
+ :bugzilla-rs:`739`
+
+* :file:`tif_jpeg.c`: Added ability to read/write the fax specific
+ :c:macro:`TIFFTAG_FAXRECVPARAMS`, :c:macro:`TIFFTAG_FAXSUBADDRESS`
+ and :c:macro:`TIFFTAG_FAXRECVTIME` tags as per bug
+ :bugzilla-rs:`736`
+
+* :file:`tif_win32.c`: Fixed message formatting in functions
+ :c:func:`Win32WarningHandler` and :c:func:`Win32ErrorHandler` as per bug
+ :bugzilla-rs:`735`
+
+* :file:`tiffio.h`: Move the color conversion routines in the ``extern
+ "C"`` section as per bug
+ :bugzilla-rs:`727`
+
+* :file:`tiff.h`: Restore back the workaround for AIX Visual Age C
+ compiler to avoid double definition of BSD types as per bug
+ :bugzilla-rs:`39`
+
+* :file:`tif_getimage.c`: More fixes for multiple-alpha-channelled
+ RGB-images as per bug
+ :bugzilla-rs:`713`
+
+
+Tools changes
+-------------
+
+* :file:`tiffcmp.c`: Added ability to compare the 32-bit integer and
+ floating point data; complain on unsupported bit depths.
+
+* :file:`tiffcmp.c`: Use properly sized buffer in short arrays comparison
+ as per bug
+ :bugzilla-rs:`785`
+
+* :file:`fax2ps.c`: Replace insecure :c:func:`mktemp` function with the
+ :c:func:`tmpfile` as per bug
+ :bugzilla-rs:`786`
+
+* :file:`tiffgt.c`: Fix problem on big-endian CPUs so that images
+ display more correctly. Images display brighter than they should
+ on a Sun workstation.
+
+* :file:`tiff2ps.c`: Fixed problem with page sizes as per bug
+ :bugzilla-rs:`742`
+
+* :file:`tiff2ps.c`: Interpret the "``-w``" and "``-h``" options independently. As
+ per bug
+ :bugzilla-rs:`689`
+
+* :file:`tiffdump.c`: Fixed problem when read broken TIFFs with the
+ wrong tag counts (Dmitry V. Levin, Martin Pitt).
+
+* :file:`tiffset.c`: Convert character option to integer value as per
+ bug :bugzilla-rs:`725`.
+
+Contributed software changes
+----------------------------
+
+* None.
diff --git a/doc/v3.7.3.rst b/doc/v3.7.3.rst
new file mode 100644
index 00000000..107d6a67
--- /dev/null
+++ b/doc/v3.7.3.rst
@@ -0,0 +1,169 @@
+Changes in TIFF v3.7.3
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.3 (:tag:`Release-v3-7-3`)
+ Previous Version :doc:`v3.7.2 <v3.7.2>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* Replace runtime endianness check with the compile time one.
+
+* Added support for the new predictor type (floating point
+ predictor), defined at the TIFF Technical Note 3.
+
+* Added Support for custom tags, passed by value.
+
+* Added support for all DNG tags.
+
+
+Software configuration changes
+------------------------------
+
+* Do not use empty ``-R`` option when linking with ``--enable-rpath``.
+
+* Added workaround for OpenBSD/MirOS soname problem as per bug
+ :bugzilla-rs:`838`
+
+* Fixed parallel compilation of the libtiff and
+ libtiffxx libraries as per bug
+ :bugzilla-rs:`826`
+
+* :file:`configure.ac`, :file:`libtiff/Makefile.am`: Use libtool machinery to pass
+ ``rpath`` option.
+
+* :file:`make.opt`: Build with Win32 CRT library by default.
+
+
+Library changes
+---------------
+
+* :file:`tiffiop.h`, :file:`tif_open.c`: Added open option "``h``" to avoid reading
+ the first IFD when needed. As per bug
+ :bugzilla-rs:`875`
+
+* :file:`tiff.h`: Use correct :c:type:`int` size on Sparc 64bit/Sun compiler
+ platform. As per bug
+ :bugzilla-rs:`855`
+
+* :file:`tif_dirinfo.c`: Added support for ``ClipPath``, ``XClipPathUnits``
+ and ``YClipPathUnits`` tags.
+
+* :file:`tif_dirinfo.c`, :file:`tif_dir.h`, :file:`tif_dir.c`, :file:`tif_print.c`: Make
+ ``DocumentName``, ``Artist``, ``HostComputer``, ``ImageDescription``, ``Make``, ``Model``,
+ ``Copyright``, ``DateTime``, ``PageName``, ``TextureFormat``, ``TextureWrapModes`` and
+ ``TargetPrinter`` tags custom.
+
+* :file:`tif_jpeg.c`: Cleanup the codec state depending on :c:macro:`TIFF_CODERSETUP`
+ flag (to fix memory leaks).
+
+* :file:`tif_dirwrite.c`: Use :c:member:`tdir_count` when calling
+ :c:func:`TIFFCvtNativeToIEEEDouble` in the :c:func:`TIFFWriteDoubleArray` function as
+ per bug :bugzilla-rs:`845`
+
+* :file:`tif_dirinfo.c`, :file:`tif_print.c`: :c:func:`TIFFFetchByteArray` returns
+ :c:type:`uint16` array when fetching the ``BYTE`` and ``SBYTE`` fields, so we should
+ consider result as pointer to :c:type:`uint16` array and not as array of :c:type:`char`.
+ As per bug
+ :bugzilla-rs:`831`
+
+* :file:`tif_dir.c`: More efficient custom tags retrieval as per bug
+ :bugzilla-rs:`830`
+
+* :file:`tif_win32.c`: Use ``FILE_SHARE_READ | FILE_SHARE_WRITE`` share
+ mode in :c:func:`CreateFile` call as per bug
+ :bugzilla-rs:`829`
+
+* :file:`tif_jpeg.c`: Substantial fix for :program:`addtiffo` problems with
+ JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables
+ in directory.
+
+* :file:`tif_dirread.c`: Changed the code that computes
+ ``stripbytecount[0]`` if it appears bogus to ignore if ``stripoffset[0]`` is
+ zero. This is a common case with GDAL indicating a "null" tile/strip.
+
+* :file:`tif_jpeg.c`: added ``LIB_JPEG_MK1`` support in :c:func:`JPEGDecodeRaw``.
+
+* :file:`tif_dirread.c`: Ensure that broken files with too many
+ values in :c:func:`TIFFFetchPerSampleShorts`, :c:func:`TIFFFetchPerSampleLongs` and
+ :c:func:`TIFFFetchPerSampleAnys` work ok instead of crashing.
+ :bugzilla-rs:`843`
+
+* :file:`tif_predict.h`, :file:`tif_predict.c`: Added ability to decode and encode
+ floating point predictor, as per TIFF Technical Note 3.
+ See http://chriscox.org/TIFF_TN3_Draft2.pdf for details.
+
+* :file:`tiffio.h`, :file:`tiffiop.h`, :file:`tif_dir.c`, :file:`tif_read.c`, :file:`tif_swab.c`:
+ Added :c:func:`_TIFFSwab24BitData` and :c:func:`TIFFSwabArrayOfLong` functions used to
+ swap 24-bit floating point values.
+
+* :file:`tiff.h`: Added predictor constants.
+
+* :file:`tiffiop.h`, :file:`tif_dir.c`: Use :c:type:`uint32` type for appropriate values
+ in :c:func:`_TIFFVSetField` function. Inspired by the bug
+ :bugzilla-rs:`816`
+
+* :file:`tif_open.c`: Do not read header in case the output file should
+ be truncated (Ron).
+
+* :file:`tif_dirinfo.c`, :file:`tif_config.h`.vc: Use :c:func:`lfind` instead of :c:func:`bsearch`
+ in :c:func:`_TIFFFindFieldInfoByName` function (Ron).
+
+* :file:`tif_dir.c`, :file:`tif_print.c`: Properly handle all data types in custom
+ tags.
+
+* :file:`dirinfo.c`: Added DNG tags.
+
+* :file:`tiff.h`: Added missed DNG tag (``LensInfo``); added DNG 1.1.0.0 tags.
+
+* :file:`tif_dir.c`, :file:`tif_print.c`: Added Support for custom tags, passed
+ by value.
+
+* :file:`tiff.h`, :file:`tif_dirinfo.c`, :file:`tiffiop.h`: Added EXIF related tags.
+
+
+Tools changes
+-------------
+
+* :file:`tiff2pdf.c`: Print two characters per loop in the
+ :c:func:`t2p_write_pdf_trailer`. As per bug
+ :bugzilla-rs:`594`
+
+* :file:`tiffgt.c`: Use MacOS X OpenGL framework when appropriate. As
+ per bug :bugzilla-rs:`844`
+
+* :file:`ppm2tiff.c`: Fixed format string when read PPM file header with
+ the :c:func:`fscanf` function. As per bug
+ :bugzilla-rs:`861`
+
+* :file:`tiffsplit.c`: Check for ``JPEGTables`` tag presence before copying.
+
+* :file:`tiff2pdfr.c`: Calculate the tile width properly; added new
+ option "``-b``" to use interpolation in output PDF files (Bruno Ledoux).
+
+* :file:`tiffdither.c`: Copy the `PhotometricInterpretation` tag from the
+ input file.
+
+* :file:`tif2pdf.c`: Fixed problem with alpha channel handling as per
+ bug :bugzilla-rs:`794`.
+
+
+Contributed software changes
+----------------------------
+
+* :file:`addtiffo/tif_overview.c`, :file:`addtiffo/tif_ovrcache.c`,
+ :file:`addtiffo/tif_ovrcache.h`:
+ Make overviews working for contiguous images.
diff --git a/doc/v3.7.4.rst b/doc/v3.7.4.rst
new file mode 100644
index 00000000..7e4c0037
--- /dev/null
+++ b/doc/v3.7.4.rst
@@ -0,0 +1,84 @@
+Changes in TIFF v3.7.4
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.7.4 (:tag:`Release-v3-7-4`)
+ Previous Version :doc:`v3.7.3 <v3.7.3>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* Fixed important bug in custom tags handling code.
+
+
+Software configuration changes
+------------------------------
+
+* Applied patch from Patrick Welche (all scripts moved in the
+ :file:`config` and :file:`m4` directories).
+
+* :file:`SConstruct`, :file:`libtiff/SConstruct`: Added the first very preliminary
+ support for SCons software building tool (`<http://www.scons.org/>`_).
+ This is experimental infrastructure and it will exist along with the
+ autotools stuff.
+
+* :file:`port/lfind.c`: Added :c:func:`lfind` replacement module.
+
+
+Library changes
+---------------
+
+* :file:`tif_dir.c`: When prefreeing ``tv->value`` in :c:func:`TIFFSetFieldV`
+ also set it to :c:macro:`NULL` to avoid double free when re-setting custom
+ string fields as per:
+ :bugzilla-rs:`922`
+
+* tif_dir.c: Fixed up support for swapping "double complex"
+ values (128 bits as 2 64 bits doubles). GDAL gcore tests now
+ pass on bigendian (macosx) system.
+
+* :file:`libtiff/tif_dirread.c`, :file:`libtiff/tif_dirinfo.c`: Do not upcast ``BYTE``s to
+ ``SHORT``s in the :c:func:`TIFFFetchByteArray`. Remove :c:func:`TIFFFetchExtraSamples`
+ function, use :c:func:`TIFFFetchNormalTag` instead as per bug
+ :bugzilla-rs:`831`
+
+ Remove :c:func:`TIFFFetchExtraSamples` function, use :c:func:`TIFFFetchNormalTag`
+ instead.
+
+* :file:`tif_print.c`: Fixed printing of the ``BYTE`` and ``SBYTE`` arrays.
+
+* :file:`tif_write.c`: Do not check the ``PlanarConfiguration`` field in
+ the :c:func:`TIFFWriteCheck` function in case of single band images (as per
+ TIFF spec).
+
+* :file:`libtiff/tif_dir.c`, :file:`libtiff/tif_dir.h`,
+ :file:`libtiff/tif_dirinfo.c`, :file:`libtiff/tif_print.c`:
+ Make ``FieldOfViewCotangent``, ``MatrixWorldToScreen``, ``MatrixWorldToCamera``,
+ ``ImageFullWidth``, ``ImageFullLength`` and ``PrimaryChromaticities`` tags custom.
+
+Tools changes
+-------------
+
+* :file:`tiffcp.c`: Fixed ``WhitePoint`` tag copying.
+
+
+Contributed software changes
+----------------------------
+
+* :file:`tiffdump.c`: Added support for :c:enumerator:`TIFF_IFD` datatype.
+
+* :file:`addtiffo/tif_overview.c`, :file:`addtiffo/tif_ovrcache.c`,
+ :file:`addtiffo/tif_ovrcache.h`:
+ Make overviews working for contiguous images.
diff --git a/doc/v3.8.0.rst b/doc/v3.8.0.rst
new file mode 100644
index 00000000..5ba27287
--- /dev/null
+++ b/doc/v3.8.0.rst
@@ -0,0 +1,140 @@
+Changes in TIFF v3.8.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.8.0 (:tag:`Release-v3-8-0`)
+ Previous Version :doc:`v3.7.4 <v3.7.4>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* Read-only support for custom directories (e.g. EXIF directory).
+
+* Preliminary support for MS MDI format.
+
+
+Software configuration changes
+------------------------------
+
+* Make the default strip size configurable via the
+ ``--with-default-strip-size`` and :c:macro:`STRIP_SIZE_DEFAULT` options.
+
+
+Library changes
+---------------
+
+* :file:`tiffio.h`: Added :c:macro:`VC_EXTRALEAN` definition before including
+ :file:`windows.h`, to reduce the compile time.
+
+* :file:`tif_jpeg.c`: Improve compilation under MinGW.
+
+* :file:`tif_aux.c`, :file:`tif_dir.c`, :file:`tif_dir.h`, :file:`tif_dirwrite.c`,
+ :file:`tif_print.c`, :file:`tif_getimage.c`: Make ``InkSet``, ``NumberOfInks``, ``DotRange`` and
+ ``StoNits`` tags custom.
+
+* :file:`tif_aux.c`, :file:`tif_dir.c`, :file:`tif_dir.h`, :file:`tif_print.c`: Make
+ ``WhitePoint`` tag custom.
+
+* :file:`tiffio.h`: fixed typo that potentially resulted in
+ redefininition of :c:macro:`USE_WIN32_FILEIO`
+
+* :file:`tif_dir.c`, :file:`tif_dir.h`, :file:`tif_print.c`: Make ``RichTIFFIPTC``,
+ ``Photoshop`` and ``ICCProfile`` tags custom.
+
+* :file:`libtiff/*`, :file:`contrib/*`: Added 'dual-mode' error handling, enabling
+ newer code to get context indicator in error handler and still
+ remain compatible with older code: Done :c:func:`TIFFError` calls everywhere
+ except in tools.
+
+* :file:`tiffinfo.c`: Print ``EXIF`` directory contents if exist.
+
+* :file:`tif_dirinfo.c`, :file:`tif_dirread.c`, :file:`tif_dir.h`, :file:`tif_dir.c`:
+ Custom directory read-only support.
+
+* :file:`tif_aux.c`, :file:`tif_dirinfo.c`, :file:`tif_dirread.c`, :file:`tif_dir.h`,
+ :file:`tif_dir.c`, :file:`tif_print.c`: Make ``YCbCrCoefficients`` and ``ReferenceBlackWhite``
+ tags custom.
+
+* :file:`tif_dirread.c`: One more workaround for broken ``StripByteCounts``
+ tag. Handle the case when ``StripByteCounts`` array filled with
+ completely wrong values.
+
+* :file:`tif_dirinfo.c`: Release file descriptor in case of failure
+ in the :c:func:`TIFFOpenW` function as per bug
+ :bugzilla-rs:`1003`
+
+* :file:`tif_dirinfo.c`: Correctly use :c:func:`bsearch` and :c:func:`lfind`
+ functions as per bug
+ :bugzilla-rs:`1008`
+
+* :file:`tif_open.c`, :file:`tiff.h`, :file:`tiffdump.c`: Incorporate preliminary support
+ for MS MDI format.
+ :bugzilla-rs:`1002`
+
+* libtiff.def, :file:`tiffiop.h`, :file:`tiffio.h`: Made :c:func:`TIFFFreeDirectory`
+ public.
+
+* :file:`/tif_dirinfo.c`: Make ``XResolution``, ``YResolution`` and
+ ``ResolutionUnit`` tags modifiable during write process. As per bug
+ :bugzilla-rs:`977`
+
+* :file:`if_dirread.c`: Don't try and split single strips into "0" strips
+ in :c:func:`ChopUpSingleUncompressedStrip`. This happens in some degenerate
+ cases (like 1×1 files with ``stripbytecounts==0`` (:file:`gtsmall.jp2` embed tiff)
+
+* :file:`tif_fax3.c`: changed '`at scanline ...`' style warning/errors
+ with incorrect use of tif_row, to '`at line ... of
+ strip/tile ...`' style.
+
+
+Tools changes
+-------------
+
+* :file:`tiffcp.c`: Added many error reporting messages; fixed integer
+ overflow as per bug
+ :bugzilla-rs:`789`
+
+* :file:`tiffcp.c`: Return non-zero status when reading fails.
+
+* :file:`fax2tiff.c`: Properly calculate sizes of temporary arrays
+ as per bug
+ :bugzilla-rs:`943`
+
+* :file:`fax2tiff.c`: Added option `-r` to set RowsPerStrip parameter
+ as per bug
+ :bugzilla-rs:`944`
+
+* :file:`tiffdump.c`: Fixed :c:var:`typeshift` and :c:var:`typemask` arrays initialization
+ problem as per bug
+ :bugzilla-rs:`946`
+
+* :file:`bmp2tiff.c`: Fixed possible integer overflow error as per bug
+ :bugzilla-rs:`965`
+
+* :file:`tiffsplit.c`: Copy fax related fields over split parts
+ as per bug
+ :bugzilla-rs:`983`
+
+* :file:`tiffdump.c`: Fixed crash when reading malformed tags.
+
+* :file:`tiff2pdf.c`: Added missed ``break`` statement as per bug
+ :bugzilla-rs:`932`
+
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/addtiffo/*`: Major upgrade by Joris to support subsampled
+ YCbCr images in jpeg compressed TIFF files.
diff --git a/doc/v3.8.1.rst b/doc/v3.8.1.rst
new file mode 100644
index 00000000..e6bd081c
--- /dev/null
+++ b/doc/v3.8.1.rst
@@ -0,0 +1,147 @@
+Changes in TIFF v3.8.1
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.8.1 (:tag:`Release-v3-8-1`)
+ Previous Version :doc:`v3.8.0 <v3.8.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* Bug-fix release.
+
+
+Software configuration changes
+------------------------------
+
+* libtool related stuff updated from the 2.1a branch.
+
+* Fix ``with_default_strip_size`` comparison as reported by
+ Norihiko Murase.
+
+
+Library changes
+---------------
+
+* :file:`tif_dirread.c`: Fixed error reporting in :c:func:`TIFFFetchAnyArray`
+ function as per bug
+ :bugzilla-rs:`1102`
+
+* :file:`tif_jpeg.c`, :file:`tif_pixarlog.c`, :file:`tif_fax3.c`, :file:`tif_zip.c`:
+ Properly restore ``setfield``/``getfield`` methods in cleanup functions. As
+ per bug
+ :bugzilla-rs:`1102`
+
+* :file:`tif_lzw.c`, :file:`tif_pixarlog.c`, :file:`tif_zip.c`: Use
+ :c:func:`TIFFPredictorCleanup` in codec cleanup methods. As per bug
+ :bugzilla-rs:`1102`
+
+* :file:`tif_predict.c`, :file:`tif_predict.h`: Added new function
+ :c:func:`TIFFPredictorCleanup` to restore parent decode/encode/field methods.
+
+* :file:`tif_dirread.c`: Fixed integer overflow condition in
+ :c:func:`TIFFFetchData` function. As per bug
+ :bugzilla-rs:`1102`
+
+* :file:`tif_ojpeg.c`: Set the ``ReferenceBlackWhite`` with the
+ :c:func:`TIFFSetField` method, not directly. As per bug
+ :bugzilla-rs:`1043`
+
+* :file:`tif_write.c`: Small code rearrangement in :c:func:`TIFFWriteScanline`
+ to avoid crash as per bug
+ :bugzilla-rs:`1081`
+
+* :file:`tif_dirwrite.c`: Properly write ``TIFFTAG_DOTRANGE`` tag as per
+ bug :bugzilla-rs:`1088`
+
+* :file:`tif_print.c`: Properly read :c:macro:`TIFFTAG_PAGENUMBER`,
+ :c:macro:`TIFFTAG_HALFTONEHINTS`, :c:macro:`TIFFTAG_YCBCRSUBSAMPLING`
+ and :c:macro:`TIFFTAG_DOTRANGE` tags as per bug
+ :bugzilla-rs:`1088`
+
+* :file:`tif_tile.c`: Fix error reporting in :c:func:`TIFFCheckTile` as per
+ bug :bugzilla-rs:`1063`
+
+* :file:`tif_color.c`: Avoid overflow in case of wrong input as per
+ bug :bugzilla-rs:`1065`
+
+* :file:`tif_dirinfo.c`: Use :c:enumerator:`TIFF_NOTYPE` instead of 0 when
+ appropriate. As per bug
+ :bugzilla-rs:`1033`
+
+* :file:`tif_aux.c`: Fixed type of temporary variable in
+ :c:func:`_TIFFCheckMalloc` as per bug
+ :bugzilla-rs:`103`
+
+* :file:`tif_aux.c`: Return static array when fetching default
+ ``YCbCrCoefficients`` (another problem, reported a the
+ :bugzilla-rs:`1029`
+ entry).
+
+* :file:`tif_dir.c`: Special handling for ``PageNumber``, ``HalftoneHints``,
+ ``YCbCrSubsampling`` and ``DotRange`` tags as per bugs
+ :bugzilla-rs:`1029`
+ :bugzilla-rs:`1034`
+
+* :file:`tif_dirread.c`: Use :c:func:`_TIFFGetExifFieldInfo` instead of
+ :c:func:`_TIFFGetFieldInfo` in :c:func:`TIFFReadEXIFDirectory` call as per bug
+ :bugzilla-rs:`1026`
+
+* :file:`tif_dirinfo.c`: Change definitions for :c:macro:`TIFFTAG_ICCPROFILE`,
+ :c:macro:`TIFFTAG_PHOTOSHOP`, :c:macro:`TIFFTAG_RICHTIFFIPTC`,
+ :c:macro:`TIFFTAG_XMLPACKET`: readcount should be :c:type:`uint32` value.
+
+
+Tools changes
+-------------
+
+* :file:`ppm2tiff.c`: Added support for PBM files as per bug
+ :bugzilla-rs:`1044`
+
+* :file:`tiff2pdf.c`: Functions :c:func:`t2p_sample_rgbaa_to_rgb` and
+ :c:func:`t2p_sample_rgba_to_rgb` was used in place of each other, that was
+ resulted in problems with RGBA images with associated alpha.
+ As per bug
+ :bugzilla-rs:`1097`
+
+* :file:`tiff2ps.c`: Properly scale all the pages when converting
+ multipage TIFF with /width/height/center options set. As per bug
+ :bugzilla-rs:`1080`
+
+* :file:`tiff2pdf.c`: Do not create output file until all option checks
+ will be done. As per bug
+ :bugzilla-rs:`1072`
+
+* :file:`bmp2tiff.c`: Added ability to create multipage TIFFs from the
+ list of input files as per bug
+ :bugzilla-rs:`1077`
+
+* :file:`tiffgt.c`: Avoid crashing in case of image unsupported by
+ TIFFRGBAImage interface.
+
+* :file:`tiff2pdf.c`: Fixed support for non-YCbCr encoded JPEG
+ compressed TIFF files, per submission from Dan Cobra.
+
+* :program:`bmp2tiff`, :program:`pal2rgb`, :program:`ppm2tiff`, :program:`ras2tiff`,
+ :program:`raw2tiff`, :program:`sgi2tiff`, :program:`tiff2bw`, :program:`tiffcp`:
+ Fixed jpeg option processing so ``-c jpeg:r:50`` works
+ properly as per bug:
+ :bugzilla-rs:`1025`
+
+Contributed software changes
+----------------------------
+
+None.
diff --git a/doc/v3.8.2.rst b/doc/v3.8.2.rst
new file mode 100644
index 00000000..1d1fb89e
--- /dev/null
+++ b/doc/v3.8.2.rst
@@ -0,0 +1,76 @@
+Changes in TIFF v3.8.2
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.8.2 (:tag:`Release-v3-8-2`)
+ Previous Version :doc:`v3.8.1 <v3.8.1>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* Bug-fix release.
+
+
+Software configuration changes
+------------------------------
+
+* :file:`tools/Makefile.am`: Use runtime paths linker flags when rpath
+ option enabled.
+
+* Makefiles improvements as per bug :bugzilla-rs:`1128`
+
+* Fixed win32 I/O functions usage as per bug :bugzilla-rs:`1127`
+
+
+Library changes
+---------------
+
+* :file:`tif_strip.c`: Take subsampling in account when calculating
+ :c:func:`TIFFScanlineSize`.
+
+* :file:`tif_jpeg.c`, :file:`tif_fax3.c`, :file:`tif_zip.c`, :file:`tif_pixarlog.c`,
+ :file:`tif_lzw.c`, :file:`tif_luv.c`: Use :c:func:`_TIFFSetDefaultCompressionState` in all
+ codec cleanup methods. As per bug :bugzilla-rs:`1120`
+
+* :file:`tif_jpeg.c`: Do not cleanup codec state in :c:func:`TIFFInitJPEG`. As
+ per bug :bugzilla-rs:`1119`
+
+* :file:`tif_dir.c`: Use :c:type:`double` type instead of :c:type:`dblparam_t`.
+
+* :file:`tif_dirread.c`: Do not check the ``PlanarConfig`` tag presence
+ in :c:func:`TIFFReadDirectory`, because it is always set at the start of
+ function and we allow TIFFs without that tag set.
+
+
+Tools changes
+-------------
+
+* :file:`tiffcp.c`: Do not set ``RowsPerStrip`` bigger than image length.
+
+* :file:`fax2tiff.c`: Fixed wrong :c:func:`TIFFerror` invocations as per bug
+ :bugzilla-rs:`1125`
+
+* :file:`fax2ps.c`: Fixed reading the input stream from stdin as per bug
+ :bugzilla-rs:`1124`
+
+* :file:`raw2tiff.c`: Do not set ``RowsPerStrip`` larger than ``ImageLength``.
+ As per bug :bugzilla-rs:`1110`
+
+
+Contributed software changes
+----------------------------
+
+None.
diff --git a/doc/v3.9.0.rst b/doc/v3.9.0.rst
new file mode 100644
index 00000000..8723c938
--- /dev/null
+++ b/doc/v3.9.0.rst
@@ -0,0 +1,203 @@
+Changes in TIFF v3.9.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.0 (:tag:`Release-v3-9-0`)
+ Previous Version :doc:`v3.9.0beta <v3.9.0beta>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* All of the major changes since 3.8.0 were incorporated in
+ the v3.9.0beta release. This is a stable release from a
+ stable maintenance branch which incorporates many bug and
+ security fixes needed by existing users of 3.X.X series
+ libraries. Any future major changes will be in the 4.0.X
+ series of releases.
+
+
+Software configuration changes
+------------------------------
+
+* Updated autotools: Autoconf 2.64, Automake 1.11, libtool
+ 2.2.6.
+
+* Enabled support for Automake silent build rules
+ (``--enable-silent-rules`` or ``make V=0``)
+
+* Enabled support for Automake colorized tests.
+
+* Added detection of a 64-bit integer type so that bundled
+ utilities (like :program:`tiffcrop`) can use it when necessary. Note
+ that this version of libtiff does not require a 64-bit integer
+ type but libtiff 4.0 does.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/Makefile.am`, :file:`libtiff/Makefile.v`: Do not distribute
+ :file:`tiffconf.h`, remove :file:`tif_config.h`/:file:`tiffconf.h` during cleaning. As
+ per bug :bugzilla-rs:`1573`
+
+* :file:`tif_dirinfo.c`: :c:func:`_TIFFMergeFields()` now only merges in
+ field definitions that are missing. Existing definitions are
+ silently ignored. (:bugzilla-rs:`1585`)
+
+* :file:`tif_write.c`: Rip out the fancy logic in
+ :c:func:`TIFFAppendToStrip` for establishing if an existing tile can
+ be rewritten to the same location by comparing the current
+ size to all the other blocks in the same directory. This is
+ dangerous in many situations and can easily corrupt a file.
+ (observed in esoteric GDAL situation that's hard to document).
+ This change involves leaving the :c:var:`stripbytecount[]` values
+ unaltered till :c:func:`TIFFAppendToStrip`. Now we only write a block
+ back to the same location it used to be at if the new data is
+ the same size or smaller - otherwise we move it to the end of
+ file.
+
+* :file:`tif_dirwrite.c`: Try to avoid writing out a full
+ readbuffer of tile data when writing the directory just
+ because we have :c:macro:`TIFF_BEENWRITING` at some point in the past. This
+ was causing odd junk to be written out in a tile of data when
+ a single tile had an interleaving of reading and writing with
+ reading last. (highlighted by gdal
+ :file:`autotest/gcore/tif_write.py` test 7.)
+
+* :file:`tif_predict.c`: use working buffer in :c:func:`PredictorEncodeTile`
+ to avoid modifying callers buffer.
+ :gdal-trac:`1965`
+
+* :file:`tif_predict.c`, :file:`tif_predict.h`, :file:`tif_lzw.c`, :file:`tif_zip.c`: Improvements so
+ that predictor based encoding and decoding works in read-write
+ update mode properly.
+ :gdal-trac:`1948`
+
+* :file:`configure.com`, :file:`libtiff/tif_vms.c`: Better OpenVMS
+ support. Patches from Alexey Chupahin.
+
+* :file:`tif_fax3.c`: fix leak of ``FAXCS`` state (per bug :bugzilla-rs:`1603`).
+
+* :file:`tif_fax3.c`: Make :c:func:`find0span` and :c:func:`find1span` non-inline
+ to make MSVC 6.0 compiler happy.
+
+* :file:`tif_codec.c`: Avoid :c:macro:`NULL` pointer dereferencing for exotic
+ compression codec codes.
+
+* :file:`tif_dirread.c`: zero ``tif->tif_dir`` after freeing the
+ directory in :c:func:`TIFFReadCustomDirectory`. I don't exactly
+ remember why this was important.
+
+* :file:`tif_dirwrite.c`: Fix potential memory leak writing large
+ double tags.
+
+* :file:`tif_dirread.c`: Fix unchecked :c:func:`malloc` result.
+
+* :file:`libtiff/tif_lzw.c`: Properly zero out the codetable. As
+ per bug :bugzilla:`1929`
+
+* :file:`libtiff/tif_lzw.c`: Properly zero out the string
+ table. Fixes :cve:`2008-2327` security issue.
+
+* :file:`libtiff/tif_jbig.c`: Support the JBIG-KIT 2.0
+ (compatibility with the older versions retained).
+
+* :file:`libtiff/tif_getimage.c`, :file:`tiffio.h`: removed all use of
+ ``UaToAa`` and ``Bitmap16to8`` arrays in :c:struct:`TIFFRGBAImage` structure to
+ restore ABI compatibility. These were just an attempt to
+ speed up processing with precalculated tables.
+ :bugzilla:`1979`
+
+* :file:`libtiff/tif_codec.c`: Avoid printing ``c->name`` if it does not exist.
+
+* :file:`libtiff/tif_getimage.c`, :file:`tiffio.h`: More ABI corrections.
+ Removed ``SubsamplingHor/Ver`` from :c:struct:`TIFFRGBAImage` structure.
+ :bugzilla:`1980`
+
+* :file:`libtiff/tif_jpeg.c`: Avoid errors if the application
+ writes a full strip for the last partial strip in a jpeg
+ compressed file. :bugzilla:`1981`
+
+* :file:`libtiff/tiffio.h`: GCC will now validate format
+ specifications for :c:func:`TIFFError`, :c:func:`TIFFErrorExt`, :c:func:`TIFFWarning`,
+ and :c:func:`TIFFWarningExt` in order to reveal bugs. Cleaned up
+ resulting warnings throughout for 32 bit build only.
+
+* :file:`libtiff/tiffiop.h`: Add private type declarations for
+ :c:type:`int64`, and :c:type:`uint64` so that bundled utilities (like :program:`tiffcrop`)
+ can use it when necessary.
+
+* :file:`libtiff/tif_predict.c`: Add support for 32bit integer
+ horz. predictors.
+ :bugzilla:`1911`
+
+* :file:`libtiff/tif_luv.c`: Fix handling of tiled logluv images.
+ :bugzilla:`2005`
+
+* :file:`libtiff/tif_write.c`: do not override the planar
+ configuration to be contig for one sample files if planar
+ configuration is already set.
+ :bugzilla:`2057`
+
+* :file:`libtiff/tif_lzw.c`: Fix buffer underflow bug.
+ :bugzilla:`2065`
+
+* :file:`libtiff/tif_luv.c`: correct return codes from ``encoderow`` to
+ be 1 on success instead of zero.
+ :bugzilla:`2069`
+
+* :file:`libtiff/tif_print.c` (:c:func:`TIFFPrintDirectory`): Applied patch
+ for "tag error may cause segfault in tif_print.c."
+ :bugzilla:`1896`
+
+
+Tools changes
+-------------
+
+* :file:`tools/tiff2pdf.c`: Fixed setting of alpha value per report
+ on list.
+
+* :file:`tools/tiffsplit.c`: Get rid of unsafe :c:func:`strcpy`/:c:func:`strcat`
+ calls when doing the filename/path construction.
+
+* :file:`tools/tiff2pdf.c`: More appropriate format string in
+ :c:func:`t2p_write_pdf_string`; avoid signed/unsigned mismatch.
+
+* :file:`tools/tiffsplit.c`: Use dynamically allocated array
+ instead of static when constructing output file names.
+
+* :file:`tools/tiffcrop.c`, :file:`man/tiffcrop.1`: Incorporated
+ significant functionality update from Richard Nolde.
+
+* :file:`tools/tiff2ps.c`: Incorporated significant functionality
+ update from Richard Nolde. In particular, support for
+ rotating the image by 90, 180, 270, and 'auto' has been added.
+
+* :file:`tools/tiff2ps.c`: Remove spurious message printed to
+ ``stderr``.
+
+* :file:`tools/tiffsplit.c`: fix ``sampleformat`` to be :c:type:`shortv` instead
+ of :c:type:`longv`.
+
+* :file:`tools/rgb2ycbcr.c`, :file:`tools/tiff2rgba.c`: Applied patch for
+ :cve:`2009-2347` libtiff: integer overflows in various
+ inter-color space conversion tools.
+ :bugzilla:`2079`
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v3.9.0beta.rst b/doc/v3.9.0beta.rst
new file mode 100644
index 00000000..932097dc
--- /dev/null
+++ b/doc/v3.9.0beta.rst
@@ -0,0 +1,225 @@
+Changes in TIFF v3.9.0beta
+==========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.0beta (:tag:`Release-v3-9-0beta`)
+ Previous Version :doc:`v3.8.2 <v3.8.2>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above).
+If you don't find something listed here, then it was not done in this
+timeframe, or it was not considered important enough to be mentioned.
+The following information is located here:
+
+Major changes
+-------------
+
+* New :program:`tiffcrop` utility contributed by Richard Nolde.
+ :program:`tiffcrop` does the same as :program:`tiffcp`, but also can crop,
+ extract, rotate and mirror images.
+
+* :file:`tif_jbig.c`: Added support for JBIG compression scheme
+ (34661 code), contributed by Lee Howard.
+
+* Totally new implementation of OJPEG module from
+ Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files
+ should be supported now that was not supported previously.
+
+Software configuration changes
+------------------------------
+
+* :file:`tif_config.wince.h`, :file:`tiffconf.wince.h`, :file:`tif_wince.c`: WinCE-specific
+ compatibility stuff from Mateusz Loskot.
+
+* Rename :file:`config.h.vc` and :file:`tif_config.h.vc` to :file:`config.vc.h` and
+ :file:`tif_config.vc.h` for easier identification by folks using an IDE.
+
+* :file:`configure`, :file:`configure.ac`: OJPEG support enabled by default (i.e.,
+ when conformant JPEG support is enabled).
+
+* :file:`README.vms`, :file:`Makefile.am`, :file:`configure.com`, :file:`libtiff/Makefile.am`,
+ :file:`libtiff/tif_config.h-vms`, :file:`libtiff/tif_stream.cxx`,
+ :file:`libtiff/tif_vms.c`, :file:`libtiff/tiffconf.h-vms`:
+ Added support for OpenVMS by Alexey Chupahin.
+
+* :file:`nmake.opt`: use ``/EHsc`` for VS2005 compatibility. Also define
+ :c:macro:`_CRT_SECURE_NO_DEPRECATE` to avoid noise on VS2005.
+
+
+Library changes
+---------------
+
+* :file:`tif_dirinfo.c` (:c:func:`_TIFFFindFieldInfo`): Don't attempt to
+ :c:func:`bsearch` on a :c:macro:`NULL` fieldinfo list.
+ (:c:func:`_TIFFFindFieldInfoByName`): Don't attempt to :c:func:`lfind` on a :c:macro:`NULL`
+ fieldinfo list.
+
+* :file:`tif_jpeg.c`: Changed :c:func:`JPEGInitializeLibJPEG` so that it
+ will convert from decompressor to compressor or compress to decompress
+ if required by the force arguments. This works around a problem in
+ where the :c:func:`JPEGFixupTestSubsampling` may cause a decompressor to
+ be setup on a directory when later a compressor is required with the
+ force flag set. Occurs with the :program:`addtiffo` program for instance.
+
+* :file:`tif_dirwrite.c`: Fixed swapping of byte arrays stored
+ in-place in tag offsets as per bug
+ :bugzilla-rs:`1363`
+
+* :file:`tif_getimage.c`: workaround for "Fractional scanline" error
+ reading OJPEG images with rowsperstrip that is not a multiple of
+ vertical subsampling factor. This bug is mentioned in
+ :bugzilla-rs:`1390` and
+ `<http://www.asmail.be/msg0054766825.html>`_
+
+* :file:`tif_dirread.c`: Added special function to handle
+ ``SubjectDistance`` EXIF tag as per bug
+ :bugzilla-rs:`1362`
+
+* :file:`tif_dirread.c`, :file:`tif_read.c`: Type of the byte counters
+ changed from :c:type:`tsize_t` to :c:type:`uint32` to be able to work with data arrays
+ larger than 2GB. Fixes bug
+ :bugzilla-rs:`890`.
+ Idea submitted by Matt Hancher.
+
+* :file:`tif_dir.c`: Workaround for incorrect TIFFs with
+ ``ExtraSamples == 999`` produced by Corel Draw. As per bug
+ :bugzilla-rs:`1490`
+
+* :file:`tif_write.c`: :c:func:`TIFFAppendToStrip` - clear sorted flag if
+ we move a strip.
+ :bugzilla-rs:`1359`
+
+* :file:`tif_fax3.c`: Save the state of printdir codec dependent method.
+
+* :file:`tif_jpeg.c`: Save the state of printdir codec dependent method
+ as per bug
+ :bugzilla-rs:`1273`
+
+* :file:`tif_win32.c`: Fixed problem with offset value manipulation
+ as per bug
+ :bugzilla-rs:`1322`
+
+* :file:`tif_fax3.c`, :file:`tif_next.c`, :file:`tif_pixarlog.c`: Fixed multiple
+ vulnerabilities, as per Gentoo bug ():
+ `<http://bugs.gentoo.org/show_bug.cgi?id=142383>`_
+
+* :file:`tif_lzw.c`, :file:`tif_zip.c`: Fixed problems with mixing
+ encoding and decoding on the same read-write TIFF handle. The LZW
+ code can now maintain encode and decode state at the same time. The
+ ZIP code will switch back and forth as needed.
+ :bugzilla-rs:`757`
+
+* :file:`tif_msdos.c`: Avoid handle leak for failed opens.
+ c/o Thierry Pierron
+
+* :file:`tif_dirwrite.c`: take care not to flush out buffer of strip/tile
+ data in :c:func:`_TIFFWriteDirectory` if :c:macro:`TIFF_BEENWRITING` not set. Relates
+ to bug report by Peng Gao with black strip at bottom of images.
+
+* :file:`tif_dirwrite.c`: make sure to use :c:type:`uint32` for wordcount in
+ :c:func:`TIFFWriteNormalTag` if ``writecount`` is :c:macro:`VARIABLE2` for ASCII fields.
+ It already seems to have been done for other field types. Needed
+ for :program:`tiffset` on files with geotiff ascii text.
+
+* :file:`tif_dirinfo.c`: Added missed EXIF tag ``ColorSpace`` (40961).
+
+* :file:`tif_dirread.c`: Move IFD fetching code in the separate
+ function :c:func:`TIFFFetchDirectory` avoiding code duplication in
+ :c:func:`TIFFReadDirectory` and :c:func:`TIFFReadCustomDirectory`.
+
+* :file:`tif_readdir.c`: Added case in :c:func:`EstimateStripByteCounts` for tiled
+ files. Modified :c:func:`TIFFReadDirectory` to not invoke
+ :c:func:`EstimateStripByteCounts` for case where entry 0 and 1 are unequal but
+ one of them is zero.
+ :bugzilla-rs:`1204`
+
+* :file:`tif_open.c`, :file:`tif_dirread.c`, :file:`tiffiop.h`: Move IFD looping
+ checking code in the separate function :c:func:`TIFFCheckDirOffset`.
+
+* :file:`tif_aux.c`: Added :c:func:`_TIFFCheckRealloc` function.
+
+* :file:`tif_fax3.c`: Fixed problems in fax decoder as per bug
+ :bugzilla-rs:`1194`
+
+* :file:`tif_jbig.c`: Added support for JBIG compression scheme
+ (34661 code) contributed by Lee Howard. As per bug
+ :bugzilla-rs:`896`.
+
+* :file:`tif_getimage.c`: Added support for planarconfig separate
+ non-subsampled YCbCr (i.e. separate YCbCr with subsampling ``[1,1]``).
+
+* :file:`tif_getimage.c`: Revision of all RGB(A) put routines:
+
+ * Conversion of unassociated alpha to associated alpha
+ now done with more performant LUT, and calculation more
+ correct.
+ * Conversion of 16bit data to 8bit data now done with
+ more performant LUT, and calculation more correct
+ * Bugfix of handling of 16bit RGB with unassociated alpha
+
+* :file:`tif_ojpeg.c`: totally new implementation
+
+* :file:`tif_getimage.c`: removed :c:macro:`TIFFTAG_JPEGCOLORMODE` handling
+ of OJPEG images in favor of tif_getimage.c native handling of
+ YCbCr and desubsampling.
+
+* :file:`tif_jpeg.c`: :c:func:`JPEGVSetField` so that altering the photometric
+ interpretation causes the "upsampled" flag to be recomputed. Fixes
+ peculiar bug where photometric flag had to be set before jpegcolormode
+ flag.
+
+Tools changes
+-------------
+
+* :file:`tiff2ps.c`: Added support 16-bit images as per bug
+ :bugzilla-rs:`1566`.
+ Patch from William Bader.
+
+* :file:`tiff2pdf.c`: Fix for :c:macro:`TIFFTAG_JPEGTABLES` tag fetching and
+ significant upgrade of the whole utility as per bug
+ :bugzilla-rs:`1560`.
+ Now we don't need :file:`tiffiop.h` in :program:`tiff2pdf` anymore and will open output
+ PDF file using :c:func:`TIFFClientOpen` machinery as it is implemented
+ by Leon Bottou.
+
+* :file:`tiffcrop.c`: New tiffcrop utility contributed
+ by Richard Nolde. As per bug
+ :bugzilla-rs:`1383`
+
+* :file:`tiff2pdf.c`: Do not assume inches when the resolution units
+ do not specified. As per bug
+ :bugzilla-rs:`1366`
+
+* :file:`tiffset.c`: Properly handle tags with :c:macro:`TIFF_VARIABLE` writecount.
+ As per bug
+ :bugzilla-rs:`1350`
+
+* :file:`tif2rgba.c`: This utility does not work properly on big-endian
+ architectures. It was fixed including the bug
+ :bugzilla-rs:`1149`
+
+* :file:`tiff2pdf.c`: Fix handling of ``-q`` values.
+ :bugzilla-rs:`587`
+
+* :file:`tiffcmp.c`: Fixed floating point comparison logic as per bug
+ :bugzilla-rs:`1191`
+
+* :file:`tiff2pdf.c`: Fixed buffer overflow condition in
+ :c:func:`t2p_write_pdf_string` as per bug
+ :bugzilla-rs:`1196`
+
+Contributed software changes
+----------------------------
+
+* :file:`contrib/addtiffo/tif_overview.c`: Fix problems with odd sized
+ output blocks in :c:func:`TIFF_DownSample_Subsampled`
+ (:bugzilla-rs:`1542`).
+
+* :file:`contrib/dbs/xtiff/xtiff.c`: Make xtiff utility compilable.
+ Though it is still far from the state of being working and useful.
diff --git a/doc/v3.9.1.rst b/doc/v3.9.1.rst
new file mode 100644
index 00000000..24a37092
--- /dev/null
+++ b/doc/v3.9.1.rst
@@ -0,0 +1,63 @@
+Changes in TIFF v3.9.1
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.1 (:tag:`Release-v3-9-1`)
+ Previous Version :doc:`v3.9.0 <v3.9.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* This is a bug-fix release for several bugs (two of which
+ are dire) which were discovered in the 3.9.0 release.
+
+
+Software configuration changes
+------------------------------
+
+* Several defines were missing from :file:`tif_config.vc.h` which
+ are necessary to compile the library using MSVC.
+
+* Colorized tests were actually not enabled as expected.
+ Parallel tests mode is now also enabled so that tests can be
+ run in parallel, and test output is sent to :file:`.log` files.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_write.c` (:c:func:`TIFFAppendToStrip`): Remove cast
+ which caused libtiff to output a wrong last strip with
+ byte-count and strip-offset of zero. This cast was added on
+ the day of the 3.9.0 release.
+
+* :file:`libtiff/tif_dirwrite.c`: Back out changes from 2007-11-22
+ that resulted in the final strip not being written in some
+ circumstances.
+ :bugzilla:`2088`
+
+
+Tools changes
+-------------
+
+None
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v3.9.2.rst b/doc/v3.9.2.rst
new file mode 100644
index 00000000..961a27ae
--- /dev/null
+++ b/doc/v3.9.2.rst
@@ -0,0 +1,67 @@
+Changes in TIFF v3.9.2
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.2 (:tag:`Release-v3-9-2`)
+ Previous Version :doc:`v3.9.1 <v3.9.1>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* Fixes a number of bugs present in the 3.9.1 release.
+
+* OJPEG support updated to work with IJG JPEG 7 release.
+
+* :program:`tiffcrop` validated for most TIFF storage subformats and sample depths.
+
+
+Software configuration changes
+------------------------------
+
+* x86_64 now uses the same default fill order as i386.
+
+
+Library changes
+---------------
+
+* Writing tags with an array value of type :c:enumerator:`TIFF_DOUBLE` now
+ returns correct error status. The :c:macro:`TIFFTAG_SMINSAMPLEVALUE` and
+ :c:macro:`TIFFTAG_SMAXSAMPLEVALUE` tags failed to write without this fix.
+
+* OJPEG decoder now works with IJG JPEG 7. Resolves "Bug
+ 2090 - OJPEG crash with libjpeg v7".
+ :bugzilla:`2090`
+
+* Eliminate most GCC "dereferencing type-punned pointer"
+ warnings.
+
+
+Tools changes
+-------------
+
+* New :program:`tiffcrop` from Richard Nolde. Major updates to add
+ significant functionality for reading and writing tile based
+ images with bit depths not a multiple of 8 which cannot be
+ handled by :program:`tiffcp`.
+
+* Allow building tools with GCC using the ``-Wformat
+ -Werror=format-security`` flags.
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v3.9.3.rst b/doc/v3.9.3.rst
new file mode 100644
index 00000000..d9a29fa6
--- /dev/null
+++ b/doc/v3.9.3.rst
@@ -0,0 +1,105 @@
+Changes in TIFF v3.9.3
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.3 (:tag:`Release-v3-9-3`)
+ Previous Version :doc:`v3.9.2 <v3.9.2>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* Fixes for :cve:`2010-1411`.
+
+* Various reported bug fixes.
+
+
+Software configuration changes
+------------------------------
+
+* libtool is updated to version 2.2.10.
+
+
+Library changes
+---------------
+
+* Fix a couple of issues that trigger failures in some
+ cases when using :c:func:`TIFFReadScanline` with JPEG compressed
+ subsampled ycbcr images.
+ :bugzilla:`1936`
+
+* Ensure tile and scanline sizes are reset when moving to
+ new directories.
+ :bugzilla:`1936`
+
+* Do not generate a ``JPEGTables`` tag when creating the JPEG
+ TIFF as is is not required in order to prevent it from being
+ unused and filled with invalid data. (Leave it to be
+ generated by later activity.)
+ :bugzilla:`2135`
+
+* Don't return error on badly-terminated MMR strips.
+ :bugzilla:`2029`
+
+* Have :c:macro:`TIFFTAG_REFERENCEBLACKWHITE` always print 6 floats
+ instead of ``2*SamplesPerPixel``.
+ :bugzilla:`2186`
+
+* Ensure that JPEG quality is always set in
+ :c:func:`JPEGPreEncode`, not just when we want to output local tables.
+ Otherwise the quality used during compression may not be right
+ and might not match the tables in the tables tag. This bug
+ only occurs when seeking between directories in the midst of
+ writing blocks. :gdal-trac:`3539`
+
+* OJPEG: Report an error and avoid a crash if the input
+ file is so broken that the strip offsets are not defined.
+
+* Eliminate FAX3 decoder buffer overrun possibility
+ (:cve:`2010-1411`).
+
+* Restore ``ReferenceBlackWhite`` as a non-custom field. This
+ avoids a multi-thread reentrancy problem as well as fixing
+ output of wrong tag value due to redundant definitions for the
+ same tag in the :c:var:`tiffFieldInfo[]` array. Resolves
+ :bugzilla:`2185`
+
+Tools changes
+-------------
+
+* :program:`tiff2pdf`: Write the JPEG SOI headers into the TIFF strip
+ data rather than skipping them. This fixes the ability to view in
+ Acrobat Reader, Evince, and Ghostscript.
+ :bugzilla:`2135`
+
+* :program:`ppm2tiff`: While case for parsing comment line
+ requires extra parenthesis to work as expected. Reported by
+ Thomas Sinclair.
+
+* :program:`tiffcp`: add a new option ``-x`` to force merged tiff
+ file ``PAGENUMBER`` value in sequence for users who care the page
+ sequence, this will also prevent :program:`tiff2pdf` from creating pdf file from
+ the merged tiff file with wrong page sequence.
+
+* :program:`tiffcp`: Applied Tom Lane's patch to reject YCbCr
+ subsampled data since :program:`tiffcp` currently doesn't support it.
+ :bugzilla:`2097`
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v3.9.4.rst b/doc/v3.9.4.rst
new file mode 100644
index 00000000..f95bb7ec
--- /dev/null
+++ b/doc/v3.9.4.rst
@@ -0,0 +1,69 @@
+Changes in TIFF v3.9.4
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.4 (:tag:`Release-v3-9-4`)
+ Previous Version :doc:`v3.9.3 <v3.9.3>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* Complete the fixes for :cve:`2009-2347`.
+
+* :program:`tiffcrop` now supports custom page sizes.
+
+
+Software configuration changes
+------------------------------
+
+* None.
+
+
+Library changes
+---------------
+
+* Fixed inadequate validation of the ``SubjectDistance`` field.
+
+* Fixed bad handling of out of order tags definated late by a codec.
+
+* Avoid re-preparing jpeg tables unnecessarily.
+
+
+Tools changes
+-------------
+
+* :program:`tiffcrop`: Added an option to allow the user to specify a
+ custom page size on the command line. Fix the case where a
+ page size specified with a fractional part was being coerced
+ to an integer by retyping the variables that define the paper
+ size. Corrected European page size dimensions.
+
+* :program:`tiff2rgba`: Completed fixes for ":cve:`2009-2347` libtiff:
+ integer overflows in various inter-color space conversion
+ tools". :bugzilla:`2079`
+
+* :program:`tiff2pdf`: Fix assorted bugs in :program:`tiff2pdf`: missing ``return``
+ in :c:func:`t2p_read_tiff_size` causes ``t2p->tiff_datasize`` to be set entirely
+ wrong for :c:macro:`COMPRESSION_JPEG` case, resulting in memory stomp if actual
+ size is larger. Also, there are a bunch of places that try to
+ :c:func:`memset` a malloc'd buffer before checking for malloc failure, which
+ would result in core dump if there actually were a failure.
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v3.9.5.rst b/doc/v3.9.5.rst
new file mode 100644
index 00000000..6263a721
--- /dev/null
+++ b/doc/v3.9.5.rst
@@ -0,0 +1,217 @@
+Changes in TIFF v3.9.5
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v3.9.5 (:tag:`Release-v3-9-5`)
+ Previous Version :doc:`v3.9.4 <v3.9.4>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<http://www.simplesystems.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* :file:`configure.ac`: Should use ``AC_CANONICAL_HOST`` since host specifies
+ the run-time target whereas target is used to specify the final
+ output target if the package is a build tool (like a compiler),
+ which libtiff is not. Resolves :bugzilla:`2307` "Use
+ AC_CANONICAL_HOST macro".
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_getimage.c`: Check the number of samples per pixel when
+ working with YCbCr image in :c:func:`PickContigCase`. As per bug
+ :bugzilla:`2216`
+
+* :file:`libtiff/tif_dir.c`: Set the bogus post-decoding hook when processing
+ :c:macro:`TIFFTAG_BITSPERSAMPLE` in :c:func:`_TIFFVSetField` for the case of 8 bit when
+ we don't need any post-processing. That helps to reset the hook if we
+ previously set this field to some other value and the hook was
+ initialized accordingly. As per bug
+ :bugzilla:`2035`
+
+* :file:`libtiff/tif_getimage.c`: Avoid wrong math du to the signed/unsigned
+ integer type conversions. As per bug
+ :bugzilla:`2207`
+
+* :file:`libtiff/tif_dirinfo.c`: Don't use assertions in :c:func:`_TIFFFieldWithTag`
+ and :c:func:`_TIFFFieldWithName` if the tag is not found in the tag table.
+ This should be normal situation and returned :c:macro:`NULL` value should be
+ properly handled by the caller.
+
+* :file:`libtiff/{tif_dirwrite.c, tif_print.c}`: Properly handle ``DotRange``
+ tag as it can be either byte or short size and should be set and read
+ by value, not as an array. As per bug
+ :bugzilla:`2116`
+
+* :file:`libtiff/tif_dirread.c`: Really reset the tag count in :c:func:`CheckDirCount`
+ to expected value as the warning message suggests. As per bug
+ :bugzilla:`1963`
+
+* :file:`libtiff/tif_open.c`: Fix mode check before opening a file.
+ :bugzilla:`1906`
+
+* :file:`libtiff/tif_jpeg.c`, :file:`libtiff/tif_strip.c`: apply patch for
+ :cve:`2010-3087` per bug
+ :bugzilla:`2140`
+
+* :file:`libtiff/tif_dirread.c`: fix crash when reading a badly-constructed
+ TIFF per :bugzilla:`1994`
+
+* :file:`libtiff/tif_ojpeg.c`: fix buffer overflow on problem data
+ :bugzilla:`1999`
+
+* :file:`libtiff/tif_dirread.c`: modify warnings
+ :bugzilla:`2016`
+
+* :file:`libtiff/tif_jpeg.c`: fix use of clumplines calculation
+ :bugzilla:`2149`
+
+* :file:`libtiff/tif_color.c`: prevent crash in handling bad TIFFs
+ resolves :cve:`2010-2595`,
+ :bugzilla:`2208`
+
+* :file:`libtiff/tif_dirread.c`: fix needless tag ordering warning
+ :bugzilla:`2210`
+
+* :file:`libtiff/tif_jpeg.c`: reduce usage of ``JCS_UNKNOWN`` in order
+ to improve compatibility with various viewers
+ submitted by e-mail from `Dwight Kelly <dkelly@apago.com>`_
+
+* :file:`libtiff/tif_strip.c`: use :c:func:`TIFFGetFieldDefaulted` instead
+ of :c:func:`TIFFGetField` when we assume that it will succeed
+ :bugzilla:`2215`
+
+* :file:`libtiff/tif_dirread.c`: tolerate some cases where
+ ``FIELD_COLORMAP`` is missing
+ :bugzilla:`2189`
+
+* :file:`libtiff/tif_jpeg.c`: Fix regressions with 2 and 3 band images
+ caused by commit on 2010-12-14. Submitted by e-mail from
+ `Even Rouault <even.rouault@mines-paris.org>`_
+
+* :file:`libtiff/tif_dirwrite.c`: Avoid undefined behaviour when casting from
+ :c:type:`float` to :c:type:`unsigned integer` in :c:func:`TIFFWriteRationalArray` as reported by
+ Kareem Shehata.
+
+* :file:`libtiff/tif_fax3.h`: Protect against a fax ``VL(n)`` codeword commanding
+ a move left. Without this, a malicious input file can generate an
+ indefinitely large series of runs without ``a0`` ever reaching the right
+ margin, thus overrunning our buffer of run lengths. Per :cve:`2011-0192`.
+ This is a modified version of a patch proposed by Drew Yao of Apple
+ Product Security. It adds an :c:func:`unexpected` report, and disallows the
+ equality case, since emitting a run without increasing ``a0`` still allows
+ buffer overrun.
+
+* :file:`libtiff/tif_fax3.h`: Fix to last change allowing zero length
+ runs at the start of a scanline---needed for legal cases.
+
+* :file:`libtiff/tif_thunder.c`: Correct potential buffer overflow with
+ thunder encoded files with wrong bitspersample set. The libtiff
+ development team would like to thank Marin Barbella and TippingPoint's
+ Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
+ :cve:`2011-1167`).
+ :bugzilla:`2300`
+
+* :file:`libtiff/tiffiop.h`: avoid declaring :c:type:`int64`/:c:type:`uint64` on AIX with XLC
+ where they are already available. (:bugzilla:`2301`)
+
+
+Tools changes
+-------------
+
+* :file:`tools/tiffcrop.c`: Patch from Richard Nolde. Reject YCbCr
+ subsampled data since tiffcrop currently doesn't support it. Fix
+ JPEG support.
+
+* :file:`tools/tiffcp.c`: Initialize buffer arrays with zero to avoid
+ referencing to uninitialized memory in some cases (e.g. when tile size
+ set bigger than the image size).
+
+* :file:`tools/tiff2pdf.c`: Better generation of ID field in
+ :c:func:`t2p_write_pdf_trailer`. Get rid of GCC aliasing warnings.
+
+* :file:`tools/tiff2pdf.c`: Fixed computation of the tile buffer size when
+ converting JPEG encoded tiles.
+
+* :file:`tools/tiff2pdf.c`: Better handling of string fields, use static
+ string buffers instead of dynamically allocated, use :c:func:`strncpy` instead
+ of :c:func:`strcpy`, control the string lengths.
+
+* :file:`tools/tiff2bw.c`, :file:`tools/thumbnail.c`, :file:`tools/pal2rgb.c`: Fix the count for
+ ``WhitePoint`` tag as per bug
+ :bugzilla:`2042`
+
+* :file:`tools/tiffdump.c`: Use :c:func:`PrintData` function instead of
+ :c:func:`PrintByte`/:c:func:`PrintShort`/:c:func:`PrintLong`. Should fix an issue reported at
+ :bugzilla:`2116`
+
+* :file:`tools/tiffset.c`: Properly handle ``TIFFTAG_PAGENUMBER``,
+ ``TIFFTAG_HALFTONEHINTS``, ``TIFFTAG_YCBCRSUBSAMPLING``, ``TIFFTAG_DOTRANGE``
+ which should be set by value.
+
+* :file:`tools/tiffdump.c`: Avoid integer overflows computing the buffer size
+ for large directories. As per bug
+ :bugzilla:`2218`
+
+* :file:`tools/tiff2pdf.c`: Fixed ID buffer filling in
+ :c:func:`t2p_write_pdf_trailer`, thanks to Dmitry V. Levin.
+
+* :file:`tools/tiffcrop.c`: Patch from Richard Nolde to avoid a
+ potentially unterminated buffer due to using an exceptionally long
+ file name.
+
+* :file:`tools/tiff2ps.c`: improvements and enhancements from Richard Nolde
+ with additional command line options for Document Title,
+ Document Creator, and Page Orientation
+
+* :file:`tools/tiffsplit.c`: abort when reading a TIFF without a byte-count
+ per :bugzilla:`1996`
+
+* :file:`tools/tiff2pdf.c`: add fill-page option
+ :bugzilla:`2051`
+
+* :file:`tools/fax2ps.c`: replace unsafe :c:func:`tmpfile` with :c:func:`mkstemp`
+ :bugzilla:`2118`
+
+* :file:`tools/tiff2pdf.c`: fix colors for images with RGBA
+ interleaved data
+ :bugzilla:`2250`
+
+* :file:`tools/tiffcrop.c`: new release by Richard Nolde
+ :bugzilla:`2004`
+
+* :file:`tools/fax2ps.c`: be consistent with page-numbering
+ :bugzilla:`2225`
+
+* :file:`tools/gif2tiff.c`: fix buffer overrun
+ :bugzilla:`2270`
+
+* :file:`tools/fax2ps.c` (:c:func:`main`): Use :c:func:`tmpfile` rather than :c:func:`mkstemp` since
+ it is much more portable. Tmpfile is included in ISO/IEC
+ 9899:1990 and the WIN32 CRT.
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v4.0.0.rst b/doc/v4.0.0.rst
new file mode 100644
index 00000000..21b0102f
--- /dev/null
+++ b/doc/v4.0.0.rst
@@ -0,0 +1,213 @@
+Changes in TIFF v4.0.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.0 (:tag:`Release-v4-0-0`)
+ Previous Version :doc:`v3.9.5 <v3.9.5>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. Please consult
+the ChangeLog file in the source package for full change details. The
+following information is located here:
+
+
+Major changes
+-------------
+
+BigTIFF support changes:
+
+* The ``options`` parameter in the :c:func:`TIFFOpen` and :c:func:`TIFFClientOpen` funcs has
+ been extended. When creating new files, you can add option ``4`` to
+ specify you want to create a ClassicTIFF file, though that is the
+ default and the option is not strictly necessary. (As such, old
+ calling code will continue to function and create ClassicTIFF files.)
+ Or you can add option ``8`` to specify you want to create a BigTIFF file
+ instead. This new option is also reflected in some of the tools we
+ already upgraded. For instance, you can use the ``-8`` option on :program:`tiffcp` to
+ have :program:`tiffcp` produce BigTIFF files instead of the default ClassicTIFF.
+ (Whilst an additional option is provided for version selection when
+ creating new files, no such option is necessary when reading TIFF
+ files. LibTiff reads ClassicTIFF and BigTIFF both, and the application
+ does not need to be aware which TIFF version an opened file is.)
+
+* Although the tag count in BigTIFF is 64bit, we restricted the
+ count in the implementation to a much more reasonable size. This is
+ necessary in current implementation, because all tag data gets read
+ automatically in the IFD reading stage, so if there's half a dozen
+ private tags with multiple gigabytes of data that causes considerable
+ overhead even if the application level is never interested in these
+ tags. Our choice to ignore tags with data longer then a certain sanity
+ value is much needed as things stand. We also recommend to step away
+ from writing tiles that are 8 kilobyte in their uncompressed form, or
+ writing single-line strips, in really big files, resulting in mega's
+ of tiles or strips. It's much more efficient to choose bigger tile or
+ strip sizes, up to several megabyte if needed, and have a few kilo of
+ tiles or strips instead.
+
+* Although it's rare, some application code does directly access
+ file offsets. Some of these are automatically upgraded because they
+ used the :c:type:`toff_t` type, others need to be aware that the datatype
+ changed and need to start using :c:type:`toff_t` or :c:type:`uint64`. This impacts access
+ to tags like the ``EXIF`` IFD tag, for example, or the ``SubIfds`` tag, or to
+ ``StripOffsets`` or ``TileOffsets``, the return type of functions like
+ :c:func:`TIFFCurrentDirOffset`, and a parameter type to functions like
+ :c:func:`TIFFSetSubDirectory`.
+
+* Although it's rare, some application code does use structures
+ like :c:struct:`TIFFHeader` or :c:struct:`TIFFDirEntry` that used to be an exact binary
+ representation of TIFF structures. These need to change. The old
+ TIFFHeader structure is replaced by the new TIFFHeaderClassic,
+ TIFFHeaderBig, and TIFFHeaderCommon structures that are an exact
+ binary representation of the ClassicTIFF and BigTIFF header, and of
+ the part that is common to both. There is no new equivalent for the
+ old :c:struct:`TIFFDirEntry` structure (or more precisely, there is still a
+ :c:struct:`TIFFDirEntry` structure, but it is changed, moved to library-private
+ definition, and no longer an exact binary representation of the tag
+ structure of either TIFF version).
+
+* Sizer functions, like :c:func:`TIFFTileSize` or :c:func:`TIFFScanlineSize` and the
+ like, return a :c:func:`tmsize_t` value (:c:func:`tmsize_t` is defined as :c:type:`int32` on 32bit
+ machines, and :c:type:`int64` on 64bit machines, and as such it is meant to
+ represent signed memory sizes). This is because we figure 98% of the
+ calling code uses the return value as sizes in allocations and the
+ like. So, any overflow that is theoretically possible with BigTIFF
+ when LibTiff is running on a 32bit system, is best detected inside the
+ sizer functions and it is best to return a type that makes sense as a
+ memory size. If your calling code is the exception and is interested
+ in actual file size, you best use the newer :c:func:`TIFFTileSize64` or
+ :c:func:`TIFFScanlineSize64` function that returns an :c:type:`uint64` type.
+
+* These TIFF tags require a 64-bit type as an argument in
+ libtiff 4.0.0:
+
+ * :c:macro:`TIFFTAG_FREEBYTECOUNTS`
+ * :c:macro:`TIFFTAG_FREEOFFSETS`
+ * :c:macro:`TIFFTAG_STRIPBYTECOUNTS`
+ * :c:macro:`TIFFTAG_STRIPOFFSETS`
+ * :c:macro:`TIFFTAG_TILEBYTECOUNTS`
+ * :c:macro:`TIFFTAG_TILEOFFSETS`
+
+Other important backward incompatible changes in the public API:
+
+* :c:func:`TIFFRewriteField` renamed into :c:func:`_TIFFRewriteField` and moved out
+ from the public interface (from :file:`tiffio.h` to :file:`tiffiop.h`). Type of its
+ ``count`` parameter changed from :c:type:`uint32` to :c:type:`tmsize_t`.
+
+* :c:func:`TIFFMergeFieldInfo` returns non-void result now. It returns 0
+ if successful and -1 if failed. Though this is now obsoleted function
+ and should not be used in new programs. Use the new tag extension
+ scheme instead.
+
+* :c:func:`TIFFFieldWithTag` and :c:func:`TIFFFieldWithName` functions now return
+ pointer to :c:struct:`TIFFField` constant object instead of :c:struct:`TIFFFieldInfo`.
+
+* :c:func:`TIFFReassignTagToIgnore` function and :c:enum:`TIFFIgnoreSense` enumeration
+ have been removed. They was unused and never been used properly.
+ Should be unneeded for high-level applications.
+
+* :c:struct:`TIFFTagValue` structure removed from the public :file:`tiffio.h`
+ to private :file:`tif_dir.h` and not accessible anymore. It should be unneeded
+ for high-level applications.
+
+
+Software configuration changes
+------------------------------
+
+Updated autotools: Autoconf 2.68, Automake 1.11.1, libtool 2.4.
+
+* Enabled support for Automake silent build rules
+ (``--enable-silent-rules`` or ``make V=0``)
+
+* Enabled support for Automake colorized and parallel tests.
+
+* Added detection of 64-bit integer types since libtiff 4.0
+ requires use of 64-bit signed and unsigned integer types.
+
+* Libtiff now provides a more comprehensive test suite with
+ over 72 tests, which may be executed on Unix-like systems, or
+ under Microsoft Windows using MinGW/MSYS or Cygwin.
+
+* ``--disable-lzma`` configure option to disable use of liblzma.
+
+* ``--enable-defer-strile-load`` configure option to enable
+ experimental deferred strip/tile offset/size loading. May
+ cause some extremely sophisticated uses of libtiff to fail.
+
+* ``--enable-chunky-strip-read`` configure option to enable
+ experimental enable reading large strips in chunks in
+ :c:func:`TIFFReadScanline`.
+
+* Now always uses WIN32 native I/O functions for Microsoft
+ Windows except for under Cygwin.
+
+* Now provides a pkg-config support file (libtiff-4.pc).
+
+
+Library changes
+---------------
+
+* Patches/fixes made to stable libtiff (v3.9.X) are also
+ applied to 4.0.0. There are too many to list here. See the
+ distribution :file:`ChangeLog` for a detailed change list.
+
+* There is considerable change in some files like
+ :c:func:`tif_dirread` and :c:func:`tif_dirwrite`. These changes don't impact
+ backwards compatibility, they are mostly a clean rewrite that
+ does allow BigTIFF support as well as somewhat more robust
+ reading of the unexpected already and will also serve future
+ API extension but does not impact current API or functionality
+ in a negative way that you need to know about.
+
+* Although there is still a functional definition for types
+ like :c:type:`toff_t` (file offset), :c:type:`tstrip_t` (strip index number), etc,
+ we recommend against using these in newer code. We have
+ learned that it is next to impossible to use these
+ consistently and make real abstraction of the binary format of
+ these types. Instead, at a certain level we always end up
+ doing casts anyway, and taking the exact binary format into
+ account, so these types are nothing but dangerously misleading
+ and obfuscating. You do not need to update calling code that
+ uses them, as 99.9% of such code will continue to work. But we
+ recommend against using them in newer calling code, and we
+ started replacing them with binary clear types like :c:type:`uint16`,
+ :c:type:`uint32` and such in the library.
+
+* We do use and will continue to use one functional type
+ that is an exception to the above rule, being :c:type:`tmsize_t`. This
+ is a signed memory size type, i.e. it is :c:type:`int32` on 32bit
+ machines, or :c:type:`int64` on 64bit machines.
+
+* Optionally support LZMA compression via TIFF tag 34925.
+ :program:`tiffcp` supports compression levels similar to ``-c lzma:p1`` or
+ ``-c zip:p9`` for setting the LZMA compression parameters.
+
+* Optionally defer the load of strip/tile offset and size
+ tags for optimized scanning of directories. Enabled with the
+ ``--enable-defer-strile-load`` configure option (:c:macro:`DEFER_STRILE_LOAD`
+ ``#define`` in :file:`tif_config.h`).
+
+* Optionally enable experimental support for reading big
+ strips in chunks. Enabled with the ``--enable-chunky-strip-read``
+ configure option.
+
+
+Tools changes
+-------------
+
+* :program:`tiffset`: add ``-d`` and ``-sd`` switches to allow operation on
+ a particular directory, not just the first.
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v4.0.1.rst b/doc/v4.0.1.rst
new file mode 100644
index 00000000..a618290a
--- /dev/null
+++ b/doc/v4.0.1.rst
@@ -0,0 +1,60 @@
+Changes in TIFF v4.0.1
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.1 (:tag:`Release-v4-0-1`)
+ Previous Version :doc:`v4.0.0 <v4.0.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* ``--enable-ld-version-script``: New :program:`configure` option to
+ enable shared library symbol versioning on ELF-based systems
+ (e.g. Linux and FreeBSD) which use the GNU linker. This
+ allows multiple major versions of libtiff to be loaded
+ simultaneously into the same application or library without
+ conflict, as long as all libtiffs involved are built with
+ versioned symbols. This option is not enabled by default.
+
+* Added libtiff private dependency on ``-llzma`` for pkg-config.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_dir.c`, :file:`libtiff/tif_dirread.c`: Extra caution around
+ assumption tag fetching is always successful.
+
+* :file:`libtiff/tif_jpeg.c`: Extra caution for case where :c:var:`sp` is :c:macro:`NULL`.
+
+
+Tools changes
+-------------
+
+* None
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v4.0.10.rst b/doc/v4.0.10.rst
new file mode 100644
index 00000000..8be8d02b
--- /dev/null
+++ b/doc/v4.0.10.rst
@@ -0,0 +1,239 @@
+Changes in TIFF v4.0.10
+=======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.10 (:tag:`v4.0.10`)
+ Previous Version :doc:`v4.0.9 <v4.0.9>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* The libtiff source repository is changed from CVS to Git and the master libtiff source repository is now at
+ `Gitlab <https://gitlab.com/libtiff/libtiff>`_.
+ This is the first release to be made from the new Git repository.
+
+
+Software configuration changes
+------------------------------
+
+* Minimum CMake version is now v2.8.11 for the CMake-based build.
+
+* Libwebp will be automatically detected and used by configure/cmake if present.
+
+* Libzstd will be automatically detected and used by configure/cmake if present.
+
+
+Library changes
+---------------
+
+* Added ZSTD compression codec.
+ `Zstandard <https://github.com/facebook/zstd>`_ or zstd as
+ short version, is a fast lossless compression algorithm, targeting
+ real-time compression scenarios at zlib-level and better
+ compression ratios. It's backed by a very fast entropy stage,
+ provided by Huff0 and FSE library.
+
+ We require libzstd >= 1.0.0 so as to be able to use streaming
+ compression and decompression methods.
+
+ The default compression level we have selected is 9 (range goes
+ from 1 to 22), which experimentally offers equivalent or better
+ compression ratio than the default deflate/ZIP level of 6, and
+ much faster compression.
+
+ For example on a 6600×4400 16bit image, ``tiffcp -c zip`` runs in
+ 10.7 seconds, while ``tiffcp -c zstd`` runs in 5.3
+ seconds. Decompression time for zip is 840 ms, and for zstd 650
+ ms. File size is 42735936 for zip, and 42586822 for zstd. Similar
+ findings on other images.
+
+ On a 25894×16701 16bit image:
+
+ .. table:: Compressor Relative Performance
+ :widths: auto
+
+ =========== ================ ================== ===========
+ Compressor Compression time Decompression time File size
+ =========== ================ ================== ===========
+ ZSTD 35 s 3.2 s 399,700,498
+ ZIP/Deflate 1m 20 s 4.9 s 419,622,336
+ =========== ================ ================== ===========
+
+ Please note that ``COMPRESSION_ZSTD`` is self-assigned the id 50000
+ by the libtiff project and is not officially registered with Adobe
+ since Adobe's registration function is defunct.
+
+* Added WebP compression codec.
+
+ `WebP <https://developers.google.com/speed/webp/>`_ is
+ a high performance compressor intended for photos as commonly used
+ on the Web. The WebP encoder is not designed for huge images, but
+ serves very well for compressing strips and tiles in TIFF as long
+ as the strips or tiles do not exceed the capability of the
+ encoder.
+
+ As a test of compression performance metrics, GraphicsMagick
+ was used on an extremely high quality 8-bit TIFF image from a
+ Hasselblad H4D-200MS camera with pixel dimensions of
+ 16352×12264. The image was re-encoded with 1024×1024 tiles and
+ various compression algorithms, using default settings for each
+ algorithm. Based on this test, the compression and decompression
+ performance (in iterations per second), the resulting file size,
+ and the calculated total PSNR are provided here. It can be seen
+ that WebP provided excellent encode and decode performance, and
+ the compressed file size was very small:
+
+
+ .. table:: Compressor Relative Performance
+ :widths: auto
+
+ ========== ============ ============= ========= =====
+ Compressor Compression Decompression File size PSNR
+ ========== ============ ============= ========= =====
+ None 0.536 iter/s 1.506 iter/s 576.03MiB ∞
+ LZW 0.105 iter/s 0.266 iter/s 270.68MiB ∞
+ ZStd 0.020 iter/s 0.518 iter/s 238.42MiB ∞
+ LZMA 0.009 iter/s 0.056 iter/s 247.61MiB ∞
+ ZIP 0.009 iter/s 0.301 iter/s 247.88MiB ∞
+ JPEG 0.446 iter/s 0.760 iter/s 18.59MiB 39.00
+ WebP 0.019 iter/s 0.330 iter/s 9.38MiB 37.78
+ ========== ============ ============= ========= =====
+
+ Please note that ``COMPRESSION_WEBP`` is self-assigned the id 50001
+ by the libtiff project and is not officially registered with Adobe
+ since Adobe's registration function is defunct.
+
+* :c:func:`TIFFPrintDirectory`: fix null pointer dereference on corrupted
+ file. Fixes :bugzilla:`Bug 2770 - NULL Pointer Dereference in tiffinfo.c with crafted TIFF
+ image <2770>`.
+
+* :c:func:`_TIFFVGetField`: fix heap out-of-bounds access when requesting
+ ``TIFFTAG_NUMBEROFINKS`` on a EXIF
+ directory. Fixes :bugzilla:`Bug 2765 - Heap Out-Of-Bounds Memory Access - 68122422
+ <2765>`.
+ Reported by Google Autofuzz project.
+
+* Fix a memory leak in :c:func:`TIFFStreamOpen`. :c:func:`TIFFStreamOpen` allocates a
+ new ``tiff{o,i}s_data``, but if :c:func:`TIFFClientOpen` fails then that struct is
+ leaked.
+
+* Fix for bug 2772. It is possible to craft a TIFF document where
+ the IFD list is circular, leading to an infinite loop while
+ traversing the chain. The libtiff directory reader has a failsafe
+ that will break out of this loop after reading 65535 directory
+ entries, but it will continue processing, consuming time and
+ resources to process what is essentially a bogus TIFFdocument.
+
+ This change fixes the above behavior by breaking out of processing
+ when a TIFF document has >= 65535 directories and terminating with an
+ error.
+
+* :c:func:`ChopUpSingleUncompressedStrip`: avoid memory exhaustion
+ (:cve:`2017-11613`). In :c:func:`ChopUpSingleUncompressedStrip`, if the
+ computed number of strips is big enough and we are in read only
+ mode, validate that the file size is consistent with that number of
+ strips to avoid useless attempts at allocating a lot of memory for
+ the :c:member:`td_stripbytecount` and :c:member:`td_stripoffset`
+ arrays. Fixes :bugzilla:`Bug 2724 - memory exhaustion in ChopUpSingleUncompressedStrip
+ <2724>`.
+
+* Port code: Add :c:func:`strtol`, :c:func:`strtoll` and :c:func:`strtoull`. Also update
+ :c:func:`strtoul`. All use the same implementation from NetBSD libc.
+
+* Fix for :cve:`2018-7456` "NULL pointer dereference in
+ :c:func:`TIFFPrintDirectory`".
+
+* :c:func:`TIFFWriteDirectorySec`: avoid
+ assertion. Fixes :bugzilla:`Bug 2795 - There is a reachable assertion abort in function
+ TIFFWriteDirectorySec() of libtiff 4.0.9. A crafted input will lead
+ to remote denial of attack. (:cve:`2018-10963`)
+ <2795>`.
+
+* :c:func:`LZWDecodeCompat`: fix potential index-out-of-bounds
+ write. Fixes :bugzilla:`Bug
+ 2780 - A heap-buffer-overflow in function LZWDecodeCompat in
+ libtiff4.0.9 (:cve:`2018-8905`)
+ <2780>`.
+ The fix consists in using the
+ similar code as :c:func:`LZWDecode` to validate we don't write outside of
+ the output buffer.
+
+* Remove builtin support for GUI warning and error message
+ boxes. Now warnings always go to the console by default unless
+ applications define their own warning and error handlers.
+
+ GUI applications (and Windows CE) are required to define such handlers.
+
+* Add tag and pseudo-tag definitions for ESRI LERC codec (out of
+ tree codec whose source is
+ at `<https://github.com/OSGeo/gdal/blob/master/gdal/frmts/gtiff/tif_lerc.c>`_.
+
+* Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API
+ Fixes :bugzilla:`Bug 2800 - Regression: Opening a tiff file with v4.0.9 gives an error with LZWDecode
+ <2800>`.
+
+* :c:func:`TIFFSetupStrips`: avoid potential :c:type:`uint32` overflow on 32-bit
+ systems with large number of strips. Probably relates
+ to :bugzilla:`Bug
+ 2788 - Heap Buffer Overflow in TIFFWriteScanline of tif_write.c
+ (:cve:`2018-10779`)
+ <2788>`.
+
+* Fix out-of-bound read on some tiled images.
+
+* Avoid potential :c:type:`int32` overflows in :c:func:`multiply_ms`.
+
+* Only read/write ``TIFFTAG_GROUP3OPTIONS`` or ``TIFFTAG_GROUP4OPTIONS``
+ if compression is ``COMPRESSION_CCITTFAX3`` or
+ ``COMPRESSION_CCITTFAX4``.
+
+* JBIG: fix potential out-of-bounds write in :c:func:`JBIGDecode`. Also
+ fix a (harmless) potential use of uninitialized memory when
+ ``tif->tif_rawsize > tif->tif_rawcc``. In case libtiff is compiled with
+ ``CHUNKY_STRIP_READ_SUPPORT``, make sure that whole strip data is
+ provided to :c:func:`JBIGDecode`.
+
+* :c:func:`LZMAPreEncode`: emit verbose error if :c:func:`lzma_stream_encoder` fails
+ (typically because not enough memory available)
+
+
+Tools changes
+-------------
+
+* :program:`tiff2pdf`: Fix
+ :cve:`2017-9935`, :bugzilla:`Bug
+ 2704 - There is a heap based buffer overflow in the tiff2pdf tool of
+ the libtiff library. A crafted TIFF document can lead to a heap
+ based buffer overflow resulting in multiple damages.
+ <2704>`.
+
+* :program:`pal2rgb`: Add workaround to pal2rgb buffer overflow.
+
+* :program:`tiffset`: Add support for :c:macro:`LONG8`, :c:macro:`SLONG8` and :c:macro:`IFD8` field types
+
+* :program:`tiff2bw`: avoid null pointer dereference in case of out of memory
+ situation. Fixes :bugzilla:`Bug
+ 2819 - There is a NULL pointer dereference at function LZWDecode in
+ libtiff 4.0.9 (:cve:`2018-18661`)
+ <2819>`.
+
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.0.2.rst b/doc/v4.0.2.rst
new file mode 100644
index 00000000..394f0523
--- /dev/null
+++ b/doc/v4.0.2.rst
@@ -0,0 +1,64 @@
+Changes in TIFF v4.0.2
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.2 (:tag:`Release-v4-0-2`)
+ Previous Version :doc:`v4.0.1 <v4.0.1>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* None
+
+
+Library changes
+---------------
+
+* :file:`tif_getimage.c`: added support for _SEPARATED CMYK images.
+
+* :file:`tif_getimage.c`: Added support for greyscale + alpha.
+
+* Added :c:func:`TIFFCreateCustomDirectory` and :file:`TIFFCreateEXIFDirectory` functions.
+
+* :file:`tif_print.c`: Lots of fixes around printing corrupt or hostile input.
+
+* Improve handling of corrupt ycbcrsubsampling values.
+
+* :file:`tif_unix.c`: use :c:func:`strerror` to get meaningful error messages.
+
+* :file:`tif_jpeg.c`: fix serious bugs in :c:func:`JPEGDecodeRaw`.
+
+* :file:`tif_jpeg.c`: Fix size overflow (zdi-can-1221, :cve:`2012-1173`).
+
+
+Tools changes
+-------------
+
+* :program:`tiff2pdf`: Defend against integer overflows while
+ calculating required buffer sizes (:cve:`2012-2113`).
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v4.0.3.rst b/doc/v4.0.3.rst
new file mode 100644
index 00000000..868967e7
--- /dev/null
+++ b/doc/v4.0.3.rst
@@ -0,0 +1,68 @@
+Changes in TIFF v4.0.3
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.3 (:tag:`Release-v4-0-3`)
+ Previous Version :doc:`v4.0.2 <v4.0.2>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* Updated to use Automake 1.12.4. Avoids security problem with
+ ``make distcheck`` (:cve:`2012-3386`).
+
+
+Library changes
+---------------
+
+* Various memory buffer access fixes.
+
+* Fix handling when writing RGBA jpeg compressed imagery (:gdal-trac:`4732`).
+
+* Fix to work properly with IJG JPEG 7+.
+
+* New functions :c:func:`TIFFFieldTag`, :c:func:`TIFFFieldName`,
+ :c:func:`TIFFFieldDataType`, :c:func:`TIFFFieldPassCount`, :c:func:`TIFFFieldReadCount`,
+ :c:func:`TIFFFieldWriteCount` to use as external accessors for the opaque
+ type :c:type:`TIFFField`.
+
+* Fix bug rewriting image tiles in a compressed file (:gdal-trac:`4771`).
+
+* Add TIFF/FX tag support in libtiff.
+
+
+Tools changes
+-------------
+
+* :program:`tiff2pdf`: Fail when :c:func:`TIFFSetDirectory` fails. This prevents
+ core dumps or perhaps even arbitrary code execution when processing
+ a corrupt input file (:cve:`2012-3401`).
+
+* :program:`tiff2pdf`: Fix two places where :c:member:`t2p_error` didn't get set after a
+ :c:func:`malloc` failure. No crash risk AFAICS, but the program might not
+ report exit code 1 as desired.
+
+
+Contributed software changes
+----------------------------
+
+* None
diff --git a/doc/v4.0.4.rst b/doc/v4.0.4.rst
new file mode 100644
index 00000000..5af7ae75
--- /dev/null
+++ b/doc/v4.0.4.rst
@@ -0,0 +1,191 @@
+Changes in TIFF v4.0.4
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.4 (:tag:`Release-v4-0-4`)
+ Previous Version :doc:`v4.0.4beta <v4.0.4beta>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* :bugzilla:`2405`: Correct shell equality operator.
+* :bugzilla:`2498`: Adds an option to select the file I/O style on Windows hosts.
+
+
+Library changes
+---------------
+
+* :c:func:`TIFFNumberOfDirectories`: Coverity 1134470 "Logically dead code"
+
+* :file:`tif_dirread.c`:
+
+ * :c:func:`TIFFReadDirEntryDoubleArray`: Coverity 298626 "Logically dead code".
+ * :c:func:`TIFFReadDirEntryFloatArray`: Coverity 298627 "Logically dead code".
+ * :c:func:`TIFFReadDirEntryIfd8Array`: Coverity 298628 "Logically dead code".
+ * :c:func:`TIFFReadDirEntrySlong8Array`: Coverity 298629 "Logically dead code"
+
+* :file:`tif_dirwrite.c`
+
+ * :c:func:`_TIFFRewriteField`: Coverity 1024310 "Resource leak".
+
+* :file:`tif_jpeg.c`
+
+ * :c:func:`JPEGCleanup`: Coverity 298624 "Dereference before null check".
+ * :c:func:`JPEGDecode`: Coverity 602597 "Operands don't affect result".
+
+* :file:`tif_getimage.c`
+
+ * :bugzilla:`2409`: Correct reading of certain tiled TIFFs.
+
+* :file:`tif_luv.c`
+
+ * :c:func:`LogLuvDecodeStrip`: Coverity 991239 "Division or modulo by zero".
+ * :c:func:`LogLuvDecodeTile`: Coverity 991227 "Division or modulo by zero".
+ * :c:func:`LogLuvEncodeStrip`: Coverity 991240 "Division or modulo by zero".
+ * :c:func:`LogLuvEncodeTile`: Coverity 991241 "Division or modulo by zero".
+
+* :file:`tif_lzw.c`
+
+ * Decode files that contain consecutive :c:macro:`CODE_CLEAR` codes.
+
+* :file:`tif_ojpeg.c`
+
+ * :c:func:`OJPEGReadBufferFill`: Coverity 603400 "Missing break in switch".
+ * :c:func:`OJPEGReadHeaderInfoSecStreamDht`: Coverity 601720 "Resource leak".
+
+* :file:`tif_read.c`
+
+ * :c:func:`TIFFStartTile`: Coverity 715973 and 715974 "Division or modulo by zero".
+
+* :file:`tif_unix.c`
+
+ * :bugzilla:`2510`: Fix several harmless but still annoying warnings.
+
+* :file:`tif_write`
+
+ * :c:func:`TIFFWriteEncodedStrip`: Coverity 715975 "Division or modulo by zero".
+ * :c:func:`TIFFWriteEncodedTile`: Coverity 715976 and 715977 "Division or modulo by zero".
+ * :c:func:`TIFFWriteRawStrip`: Coverity 715978 "Division or modulo by zero".
+ * :c:func:`TIFFWriteScanline`: Coverity 715979 "Division or modulo by zero".
+
+
+Tools changes
+-------------
+
+* :program:`bmp2tiff`
+
+ * Coverity 1024225 "Untrusted value as argument".
+ * Coverity 1024678 "Unchecked return value from library".
+ * Coverity 1024679 "Unchecked return value from library".
+ * Coverity 1214160 "Ignoring number of bytes read".
+
+* :program:`gif2tiff`
+
+ * Coverity 1024222 "Untrusted value as argument".
+ * Coverity 1024890 "Ignoring number of bytes read".
+ * Coverity 1024891 "Ignoring number of bytes read".
+ * Coverity 1024892 "Ignoring number of bytes read".
+ * Coverity 1024893 "Ignoring number of bytes read".
+ * Coverity 1024894 "Ignoring number of bytes read".
+
+* :program:`ras2tiff`
+
+ * Corrected Sun Raster header definition to be safe for
+ 64-bit systems. Add some header validations. Fixes many
+ (unspecified) Coverity issues.
+ * Coverity 1024223 "Untrusted value as argument".
+ * Coverity 1301206: "Integer handling issues (BAD_SHIFT)".
+
+* :program:`raw2tiff`
+
+ * Coverity 1024887 "Unchecked return value from library".
+ * Coverity 1024888 "Unchecked return value from library".
+ * Coverity 1024889 "Unchecked return value from library".
+ * Coverity 1214162 "Ignoring number of bytes read".
+
+
+* :program:`tiff2pdf`
+
+ * :bugzilla:`2078`: Suppress initial output of the header.
+ * :buzilla:`2150`: Change ColorTransform from "0" to "1".
+ * Take care in using the return value from :c:func:`snprintf`.
+ * Coverity 1024181 "Structurally dead code".
+ * Coverity 1024181 "Structurally dead code".
+ * Coverity 1227690 "Unused value".
+ * Coverity 298621 "Resource leak".
+
+* :program:`tiff2ps`
+
+ * Correct sizing and scaling problems with output document.
+
+* :program:`tiffcp`
+
+ * Coverity 1024306, 1024307, 1024308, 1024309 "Resource leak".
+
+* :program:`tiffcrop`
+
+ * Correctly copy the compression tag from the source TIFF.
+ * Coverity 1024545 "Division or modulo by zero".
+ * Coverity 1024586 "Logically dead code".
+ * Coverity 1024796 "Nesting level does not match indentation".
+ * Coverity 1024797 "Nesting level does not match indentation".
+ * Coverity 1294542 "Logical vs. bitwise operator".
+ * Coverity 1299740 "Out-of-bounds write".
+ * Coverity 1299741 "Dereference before null check".
+
+* :program:`tiffdither`
+
+ * Check memory allocations for failure. Also check
+ multiplication overflow. (Fixes #2501, :cve:`2014-8128`)
+
+* :program:`tiffgt.c`
+
+ * :bugzilla:`2401`: Appropriately call :c:func:`glFlush`.
+
+* :program:`tiffmedian`
+
+ * Coverity 1024386 "Out-of-bounds read".
+ * Coverity 1024386 "Out-of-bounds read".
+ * Coverity 1024795 "Nesting level does not match indentation".
+ * Coverity 1024795 "Nesting level does not match indentation".
+
+:program:`tiffsplit`
+
+ * Coverity 1024304 "Resource leak".
+ * Coverity 1024305 "Resource leak".
+
+
+Contributed software changes
+----------------------------
+
+* :program:`addtiffo`
+
+ * Check buffer size calculation for overflow.
+ * Coverity 298615 "Resource leak".
+ * Coverity 1024649 "Unintended sign extension".
+
+* :program:`iptcutil`
+
+ * Coverity 1024468 "Infinite loop".
+ * Coverity 1024727 "Truncated stdio return value".
+ * Coverity 1214240 "Untrusted loop bound".
diff --git a/doc/v4.0.4beta.rst b/doc/v4.0.4beta.rst
new file mode 100644
index 00000000..d4f848ca
--- /dev/null
+++ b/doc/v4.0.4beta.rst
@@ -0,0 +1,236 @@
+Changes in TIFF v4.0.4beta
+==========================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.4beta (:tag:`Release-v4-0-4beta`)
+ Previous Version :doc:`v4.0.3 <v4.0.3>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+* None
+
+
+Software configuration changes
+------------------------------
+
+* Updated to use Automake 1.15 and Libtool 2.4.5
+
+
+Library changes
+---------------
+
+* :c:func:`TIFFCheckDirOffset`: avoid :c:type:`uint16` overflow
+ when reading more than 65535 directories, and effectively error out when
+ reaching that limit.
+
+* :c:func:`TIFFNumberOfDirectories`: generate error in case of directory count
+ overflow.
+
+* :c:func:`TIFFAdvanceDirectory`: If nextdir is found to
+ be defective, then set it to zero before returning error in order
+ to terminate processing of truncated TIFF.
+
+* JPEG-in-TIFF: recognize ``SOF2``, ``SOF9`` and ``SOF10``
+ markers to avoid emitting a warning. Fix for compatibility with mozjpeg library.
+ Note: the default settings of mozjpeg will produce progressive scans, which
+ is forbidden by the TechNote.
+
+* JPEG-in-TIFF: Fix regression introduced in 3.9.3/4.0.0 that caused
+ all tiles/strips to include quantization tables even when the jpegtablesmode
+ had the :c:macro:`JPEGTABLESMODE_QUANT` bit set.
+ Also add explicit removal of Huffman tables when jpegtablesmode has the
+ :c:macro:`JPEGTABLESMODE_HUFF` bit set, which avoids Huffman tables to be emitted in the
+ first tile/strip (only useful in update scenarios. create-only was
+ fine)
+
+* JPEG-in-TIFF: fix segfault in :c:func:`JPEGFixupTagsSubsampling` on
+ corrupted image where ``tif->tif_dir.td_stripoffset == NULL``.
+ (:bugzilla:`2471`)
+
+* NeXT codec: add new tests to check that we don't read outside of
+ the compressed input stream buffer.
+
+* NeXT codec: check that ``BitsPerSample`` = 2. Fixes
+ :bugzilla:`2487` (:cve:`2014-8129`)
+
+* NeXT codec: in the "run mode", use tilewidth for tiled images
+ instead of imagewidth to avoid crash
+
+* tif_getimage.c: in OJPEG case, fix checks on strile width/height
+ in the ``putcontig8bitYCbCr42tile``, ``putcontig8bitYCbCr41tile`` and
+ ``putcontig8bitYCbCr21tile`` cases.
+
+* in :c:func:`TIFFDefaultDirectory`, reset any already existing
+ extended tags installed by user code through the extender mechaninm before
+ calling the extender callback (GDAL #5054)
+
+* Fix warnings about unused parameters.
+
+* Fix various typos in comments found by Debian lintian tool (GDAL #5756)
+
+* tif_getimage.c: avoid divide by zero on invalid YCbCr subsampling.
+ (:bugzilla:`2235`)
+
+* :file:`tif_dirread.c`: In :c:func:`EstimateStripByteCounts`, check return code
+ of :c:func:`_TIFFFillStriles`. This solves crashing bug on corrupted
+ images generated by afl.
+
+* :file:`tif_read.c`: fix several invalid comparisons of a :c:type:`uint64` value with
+ ``<= 0`` by casting it to :c:type:`int64` first. This solves crashing bug on corrupted
+ images generated by afl.
+
+* :c:func:`TIFFSetField`: refuse to set negative values for
+ :c:macro:`TIFFTAG_XRESOLUTION` and :c:macro:`TIFFTAG_YRESOLUTION` that cause asserts when writing
+ the directory
+
+* :c:func:`TIFFReadDirectory`: refuse to read ``ColorMap`` or
+ ``TransferFunction`` if ``BitsPerSample`` has not yet been read, otherwise reading
+ it later will cause user code to crash if ``BitsPerSample > 1``
+
+* :c:func:`TIFFRGBAImageOK`: return FALSE if LOGLUV with
+ ``SamplesPerPixel != 3``, or if CIELAB with
+ ``SamplesPerPixel != 3`` or ``BitsPerSample != 8``
+
+* :file:`tif_config.vc.h`: no longer use ``#define snprintf _snprintf`` with
+ Visual Studio 2015 aka VC 14 aka MSVC 1900
+
+* LZW codec: prevent potential null dereference of ``sp->dec_codetab`` in :c:func:`LZWPreDecode`
+ (:bugzilla:`2459`)
+
+* :c:func:`TIFFReadBufferSetup`: avoid passing -1 size
+ to :c:func:`TIFFmalloc` if passed user buffer size is 0
+ (:bugzilla:`2459`)
+
+* :c:func:`TIFFReadDirEntryOutputErr`: Incorrect
+ count for tag should be a warning rather than an error since
+ errors terminate processing.
+
+* :file:`tif_dirinfo.c` (``TIFFField``) : Fix data type for :c:macro:`TIFFTAG_GLOBALPARAMETERSIFD` tag.
+
+* Add definitions for TIFF/EP ``CFARepeatPatternDim`` and ``CFAPattern`` tags
+ (:bugzilla:`2457`)
+
+* :file:`tif_codec.c`, :file:`tif_dirinfo.c`: Enlarge some fixed-size buffers that weren't
+ large enough, and eliminate substantially all uses of ``sprintf(buf,
+ ...)`` in favor of using ``snprintf(buf, sizeof(buf), ...)``
+
+* :file:`configure.ac`: Improve pkg-config static linking by adding ``-lm`` to ``Libs.private`` when needed.
+
+* :file:`tif_write.c`: :c:type:`tmsize_t` related casting warning fixed for
+ 64bit linux.
+
+* :c:file:`tif_read.c`: :c:type:`uint64`/:c:type:`tmsize_t` change for MSVC warnings.
+ (:bugzilla:`2427`)
+
+* Fix :c:func:`TIFFPrintDirectory` handling of
+ :c:member:`field_passcount` fields: it had the :c:macro:`TIFF_VARIABLE` and
+ :c:macro:`TIFF_VARIABLE2` cases backwards.
+
+* PixarLog codec: Improve previous patch for :cve:`2012-4447`
+ (to enlarge :c:member:`tbuf` for possible partial stride at end) so that
+ overflow in the integer addition is detected.
+
+* :file:`tif_{unix,vms,win32}.c` (:c:func:`_TIFFmalloc`): ANSI C does not
+ require :c:func:`malloc` to return :c:macro:`NULL` pointer if requested allocation
+ size is zero. Assure that :c:func:`_TIFFmalloc` does.
+
+* :file:`tif_zip.c`: Avoid crash on :c:macro:`NULL` error messages.
+
+
+Tools changes
+-------------
+* :program:`tiff2pdf` Fix various crashes and memory buffer access errors (oCERT-2014-013).
+* :program:`tiff2pdf` fix buffer overflow on some YCbCr JPEG compressed images.
+ (:bugzilla:`2445`)
+* :program:`tiff2pdf` fix buffer overflow on YCbCr JPEG compressed image.
+ (:bugzilla:`2443`)
+* :program:`tiff2pdf` check return code of :c:func:`TIFFGetField` when reading :c:macro:`TIFFTAG_SAMPLESPERPIXEL`
+* :program:`tiff2pdf` fix crash due to invalid tile count.
+* :program:`tiff2pdf` Detect invalid settings of ``BitsPerSample``/``SamplesPerPixel`` for CIELAB / ITULAB
+* :program:`tiff2pdf` Assure that memory size calculations for
+ :c:func:`_TIFFmalloc` do not overflow the range of :c:type:`tmsize_t`.
+* :program:`tiff2pdf` Avoid crash when :c:macro:`TIFFTAG_TRANSFERFUNCTION` tag returns one channel,
+ with the other two channels set to :c:macro:`NULL`.
+* :program:`tiff2pdf` close PDF file. (:bugzilla:`2479`)
+* :program:`tiff2pdf` Preserve input file directory order when pages
+ are tagged with the same page number.
+* :program:`tiff2pdf.c` terminate after failure of allocating ycbcr buffer
+ (:bugzilla:`2449`, :cve:`2013-4232`)
+* :program:`tiff2pdf` Rewrite JPEG marker parsing in
+ :c:func:`t2p_process_jpeg_strip` to be at least marginally competent. The
+ approach is still fundamentally flawed, but at least now it won't
+ stomp all over memory when given bogus input. Fixes :cve:`2013-1960`.
+* :program:`tiffdump` Guard against arithmetic overflow when calculating allocation buffer sizes.
+* :program:`tiffdump` fix crash due to overflow of entry count.
+* :program:`tiffdump` Fix double-free bug.
+* :program:`tiffdump` detect cycle in TIFF directory chaining.
+ (:bugzilla:`2463`)
+* :program:`tiffdump` avoid passing a :c:macro:`NULL` pointer to :c:func:`read` if :c:func:`seek` failed before.
+ (:bugzilla:`2459`)
+* :program:`tiff2bw` when ``Photometric = RGB``, the utility only works if ``SamplesPerPixel = 3``. Enforce that.
+ (:bugzilla:2485`, :cve:`2014-8127`)
+* :program:`pal2rgb`, :program:`thumbnail`: fix crash by disabling :c:macro:`TIFFTAG_INKNAMES` copying.
+ (:bugzilla:`#2484`, :cve:`2014-8127`)
+* :program:`thumbnail` fix out-of-buffer write.
+ (:bugzilla:`2489`, :cve:`2014-8128`)
+* :program:`thumbnail`, :program:`tiffcmp`: only read/write :c:macro:`TIFFTAG_GROUP3OPTIONS`
+ or :c:macro:`TIFFTAG_GROUP4OPTIONS` if compression is :c:macro:`COMPRESSION_CCITTFAX3` or
+ :c:macro:`COMPRESSION_CCITTFAX4`.
+ (:bugzilla:`2493`, :cve:`2014-8128`)
+* :program:`tiffcp` fix crash when converting YCbCr JPEG-compressed to none.
+ (:bugzilla:`2480`)
+* :program:`bmp2tiff` fix crash due to int overflow related to input BMP dimensions
+* :program:`tiffcrop` fix crash due to invalid ``TileWidth``/``TileHeight``
+* :program:`tiffcrop` fix segfault if bad value passed to ``-Z`` option
+ (:bugzilla:`2459`) and add missing ``va_end`` in :c:func:`dump_info`
+* :program:`thumbnail`, :program:`tiffcrop`: "fix" heap read over-run found with
+ Valgrind and Address Sanitizer on test suite
+* :program:`fax2ps` check :c:func:`malloc`/:c:func:`realloc` result. (:bugzilla:`2470`)
+* :program:`gif2tiff` apply patch for :cve:`2013-4243`. (:bugzilla:`2451`)
+* :program:`gif2tiff` fix possible OOB write. (:bugzilla:`2452`, :cve:`2013-4244`)
+* :program:`gif2tiff` Be more careful about corrupt or hostile input files (:bugzilla:`2450`, :cve:`2013-4231`)
+* :program:`tiff2rgba` fix usage message in that zip was wrongly described
+* :program:`tiffinfo` Default various values fetched with :c:func:`TIFFGetField` to avoid being uninitialized.
+* :program:`tiff2ps` Fix bug in auto rotate option code.
+* :program:`ppm2tiff` avoid zero size buffer vulnerability (:cve:`2012-4564`).
+ check the linebytes calculation too, get the :c:func:`max` calculation
+ straight, avoid redundant error messages, check for :c:func:`malloc`
+ failure.
+* :program:`tiffset` now supports a ``-u`` option to unset a tag.
+ (:bugzilla:`2419`)
+* Fix warnings about unused parameters.
+* :program:`rgb2ycbcr`, :program:`tiff2bw`, :program:`tiff2pdf`, :program:`tiff2ps`, :program:`tiffcrop`, :program:`tiffdither`:
+ Enlarge some fixed-size buffers that weren't
+ large enough, and eliminate substantially all uses of ``sprintf(buf,
+ ...)`` in favor of using ``snprintf(buf, sizeof(buf), ...)``, so as to
+ protect against overflow of fixed-size buffers. This responds in
+ particular to :cve:`2013-1961` concerning overflow in :file:`tiff2pdf.c`'s
+ :c:func:`t2p_write_pdf_page`.
+* :file:`html/man/tiff2ps.1.html`, :file:`html/man/tiffcp.1.html`,
+ :file:`html/man/tiffdither.1.html`, :file:`man/tiff2ps.1`, :file:`man/tiffcp.1`,
+ :file:`man/tiffdither.1`, :file:`tools/tiff2ps.c`, :file:`tools/tiffcp.c`,
+ :file:`tools/tiffdither.c`: Sync tool usage printouts and man pages with
+ reality
+
+
+Contributed software changes
+----------------------------
+
+* Fix warnings about variables set but not used.
+* :file:`contrib/dbs/xtiff/xtiff.c`: Enlarge some fixed-size buffers that weren't
+ large enough, and eliminate substantially all uses of ``sprintf(buf,
+ ...)`` in favor of using ``snprintf(buf, sizeof(buf), ...)``, so as to
+ protect against overflow of fixed-size buffers.
diff --git a/doc/v4.0.5.rst b/doc/v4.0.5.rst
new file mode 100644
index 00000000..c1dccfc4
--- /dev/null
+++ b/doc/v4.0.5.rst
@@ -0,0 +1,85 @@
+Changes in TIFF v4.0.5
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.5 (:tag:`Release-v4-0-5`)
+ Previous Version :doc:`v4.0.4 <v4.0.4>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* Support for configure/build using CMake.
+* Support for large (> 2GB) files under Microsoft Windows.
+
+
+Software configuration changes
+------------------------------
+
+* :file:`CMakeLists.txt` / CMake
+
+ * Configuration and building using CMake is now supported
+ under Microsoft Windows and on Unix-type systems.
+
+* :file:`configure.ac` / :program:`configure`
+
+ * Test for and use :c:func:`fseeko` if it is available. This allows
+ supporting large files on Unix-type systems with a 32-bit :c:type:`long`
+ type and a 64-bit :c:type:`off_t` type.
+
+
+Library changes
+---------------
+
+* :file:`tiffiop.h`:
+
+ * Macros added to use 64-bit equivalents for all standard I/O
+ and POSIX APIs used by libtiff and its tools which are limited
+ to 2GB in Windows builds. Note that these 64-bit equivalents
+ were introduced by the CRT provided with Visual Studio 2005 and
+ if the necessary CRT is not installed on the target computer,
+ the program will not run. The wrapper macros will not be
+ activated unless the definition :c:macro:`_MSC_VER` is at least 1400 or
+ :c:macro:``__MSVCRT_VERSION__`` is at least ``0x800``.
+
+* :file:`tif_unix.c`:
+
+ * Updated to support large files under Microsoft Windows.
+ This makes :file:`tif_unix.c` a completely viable candidate for use
+ under Windows (in spite of its name) if the CRT is modern
+ enough. Please note that :file:`tif_win32.c` already supported large
+ files, but only :program:`tiffinfo` and :program:`tiffdump` made any provision to
+ support large files under Windows.
+ * :c:func:`_tiffReadProc` and :c:func:`_tiffWriteProc` are modified to chunk
+ I/O to a maximum size of 2GB for extremely large I/O
+ requests. This surmounts limitations in the Microsoft Windows
+ :c:func:`read` and :c:func:`write` APIs (which are limited to the range of a
+ 32-bit :c:type:`int`), and may avoid poor behavior with extremely large
+ I/O requests on other systems.
+
+
+Tools changes
+-------------
+
+* All tools
+
+ * Updated to use I/O wrapper macros from :file:`tiffiop.h` in order
+ to support large files under Microsoft Windows.
+
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.0.6.rst b/doc/v4.0.6.rst
new file mode 100644
index 00000000..52616966
--- /dev/null
+++ b/doc/v4.0.6.rst
@@ -0,0 +1,77 @@
+Changes in TIFF v4.0.6
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.6 (:tag:`Release-v4-0-6`)
+ Previous Version :doc:`v4.0.5 <v4.0.5>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site `<https://download.osgeo.org/libtiff/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* Now builds with CMake 2.8.9 and newer (previously required 3.0.0)
+
+
+Software configuration changes
+------------------------------
+
+* :file:`CMakeLists.txt` / CMake
+
+ * Supports CMake 2.8.9 and later.
+ * Add missing file which wasn't being distributed, causing
+ unit tests to fail.
+ * Make shared/static library building configurable.
+ * CMake reads all version information directly from
+ :file:`configure.ac` to avoid duplication of values.
+ * CMake builds are now included in ``distcheck`` target.
+
+* :file:`Makefile.am`
+
+ * Autotools `make distcheck` now tests the CMake-based build
+ if CMake is available.
+
+
+Library changes
+---------------
+
+* Fixes to avoid undefined behaviour of signed types (C
+ standard compliance).
+* Fixes to avoid possible isses when casting to unsigned char.
+* Fixes to avoid undefined behaviour with shifts.
+* Fix generation of output with 16 bit or 32 bit integer, when
+ byte swapping is needed, in horizontal predictor (:bugzilla:`2521`).
+* Fix decoding when there is a single pixel to decode (unlikely
+ case...) and byte swapping is involved.
+* Add add explicit masking with ``0xff`` before casting to :c:type:`uchar` in
+ floating-point horizontal differencing and accumulation routines.
+* Eliminate requirement for and use of 64-bit constant values.
+
+
+Tools changes
+-------------
+
+* :program:`tiffgt`
+
+ * Silence glut API deprecation warnings on MacOS X.
+
+* :program:`fax2ps`
+
+ * Detect failure to write to temporary file.
+
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.0.7.rst b/doc/v4.0.7.rst
new file mode 100644
index 00000000..7075b180
--- /dev/null
+++ b/doc/v4.0.7.rst
@@ -0,0 +1,350 @@
+Changes in TIFF v4.0.7
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.7 (:tag:`Release-v4-0-7`)
+ Previous Version :doc:`v4.0.6 <v4.0.6>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+Major changes
+-------------
+
+* The libtiff tools :program:`bmp2tiff`, :program:`gif2tiff`, :program:`ras2tiff`, :program:`sgi2tiff`,
+ :program:`sgisv`, and :program:`ycbcr` are completely removed from the distribution.
+ these tools were written in the late 1980s and early 1990s for
+ test and demonstration purposes. In some cases the tools were
+ never updated to support updates to the file format, or the
+ file formats are now rarely used. In all cases these tools
+ increased the libtiff security and maintenance exposure beyond
+ the value offered by the tool.
+
+Software configuration changes
+------------------------------
+
+* None
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_dirread.c`: in :c:func:`TIFFFetchNormalTag`, do not
+ dereference :c:macro:`NULL` pointer when values of tags with
+ :c:macro:`TIFF_SETGET_C16_ASCII` / :c:macro:`TIFF_SETGET_C32_ASCII` access are
+ 0-byte arrays. Fixes
+ :bugzilla:`2593` (regression
+ introduced by previous fix done on 2016-11-11 for
+ :cve:`2016-9297`). Reported by Henri Salo. Assigned as
+ :cve:`2016-9448`
+
+* :file:`libtiff/tif_aux.c`: fix crash in :c:func:`TIFFVGetFieldDefaulted` when
+ requesting Predictor tag and that the zip/lzw codec is not
+ configured. Fixes
+ :bugzilla:`2591`
+
+* :file:`libtiff/tif_dirread.c`: in :c:func:`TIFFFetchNormalTag`, make sure
+ that values of tags with :c:macro:`TIFF_SETGET_C16_ASCII` /
+ :c:macro:`TIFF_SETGET_C32_ASCII` access are :c:macro:`NULL` terminated, to avoid
+ potential read outside buffer in :c:func:`_TIFFPrintField`. Fixes
+ :bugzilla:`2590`
+
+* :file:`libtiff/tif_dirread.c`: reject images with OJPEG compression
+ that have no ``TileOffsets``/``StripOffsets`` tag, when OJPEG
+ compression is disabled. Prevent :c:macro:`NULL` pointer dereference in
+ :c:func:`TIFFReadRawStrip1` and other functions that expect
+ :c:member:`td_stripbytecount` to be non :c:macro:`NULL`. Fixes
+ :bugzilla:`2585`
+
+* :file:`libtiff/tif_strip.c`: make :c:func:`TIFFNumberOfStrips` return the
+ ``td->td_nstrips`` value when it is non-zero, instead of
+ recomputing it. This is needed in :c:macro:`TIFF_STRIPCHOP` mode where
+ :c:member:`td_nstrips` is modified. Fixes a read outsize of array in
+ :program:`tiffsplit` (or other utilities using :c:func:`TIFFNumberOfStrips`).
+ Fixes :bugzilla:`2587`
+ (:cve:`2016-9273`)
+
+* :file:`libtiff/tif_predict.h`, :file:`libtiff/tif_predict.c`: Replace
+ assertions by runtime checks to avoid assertions in debug
+ mode, or buffer overflows in release mode. Can happen when
+ dealing with unusual tile size like YCbCr with
+ subsampling. Reported as MSVR 35105 by Axel Souchet & Vishal
+ Chauhan from the MSRC Vulnerabilities & Mitigations
+
+* :file:`libtiff/tif_dir.c`: discard values of ``SMinSampleValue`` and
+ ``SMaxSampleValue`` when they have been read and the value of
+ ``SamplesPerPixel`` is changed afterwards (like when reading a
+ OJPEG compressed image with a missing ``SamplesPerPixel`` tag, and
+ whose photometric is ``RGB`` or ``YCbCr``, forcing ``SamplesPerPixel``
+ being 3). Otherwise when rewriting the directory (for example
+ with tiffset, we will expect 3 values whereas the array had
+ been allocated with just one), thus causing a out of bound
+ read access. Fixes
+ :bugzilla:`2500`
+ (:cve:`2014-8127`, duplicate: :cve:`2016-3658`)
+
+* :file:`libtiff/tif_dirwrite.c`: avoid :c:macro:`NULL` pointer dereference on
+ :c:member:`td_stripoffset` when writing directory, if :c:macro:`FIELD_STRIPOFFSETS`
+ was artificially set for a hack case in OJPEG case. Fixes
+ :bugzilla:`2500`
+ (:cve:`2014-8127`, duplicate: :cve:`2016-3658`)
+
+* :file:`libtiff/tif_getimage.c` (:c:func:`TIFFRGBAImageOK`): Reject attempts to
+ read floating point images.
+
+* :file:`libtiff/tif_predict.c` (:c:func:`PredictorSetup`): Enforce
+ bits-per-sample requirements of floating point predictor (3).
+ Fixes :cve:`2016-3622` "Divide By Zero in the :program:`tiff2rgba` tool."
+
+* :file:`libtiff/tif_pixarlog.c`: fix out-of-bounds write vulnerabilities
+ in heap allocated buffers. Reported as MSVR 35094. Discovered by
+ Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
+ Mitigations team.
+
+* :file:`libtiff/tif_write.c`: fix issue in error code path of
+ :c:func:`TIFFFlushData1` that didn't reset the :c:member:`tif_rawcc` and :c:member:`tif_rawcp`
+ members. I'm not completely sure if that could happen in
+ practice outside of the odd behaviour of :c:func:`t2p_seekproc` of
+ tiff2pdf). The report points that a better fix could be to
+ check the return value of :c:func:`TIFFFlushData1` in places where it
+ isn't done currently, but it seems this patch is enough.
+ Reported as MSVR 35095. Discovered by Axel Souchet & Vishal
+ Chauhan & Suha Can from the MSRC Vulnerabilities & Mitigations
+ team.
+
+* :file:`libtiff/tif_pixarlog.c`: Fix write buffer overflow in
+ :c:func:`PixarLogEncode` if more input samples are provided than
+ expected by :c:func:`PixarLogSetupEncode`. Idea based on
+ :file:`libtiff-CVE-2016-3990.patch` from
+ :file:`libtiff-4.0.3-25.el7_2.src.rpm` by Nikola Forro, but with
+ different and simpler check. (:bugzilla:`2544`)
+
+* :file:`libtiff/tif_read.c`: Fix out-of-bounds read on memory-mapped
+ files in :c:func:`TIFFReadRawStrip1` and :c:func:`TIFFReadRawTile1` when
+ ``stripoffset`` is beyond :c:type:`tmsize_t` max value (reported by Mathias
+ Svensson)
+
+* :file:`libtiff/tif_read.c`: make :c:func:`TIFFReadEncodedStrip` and
+ :c:func:`TIFFReadEncodedTile` directly use user provided buffer when
+ no compression (and other conditions) to save a :c:func:`memcpy`
+
+* :file:`libtiff/tif_write.c`: make :c:func:`TIFFWriteEncodedStrip` and
+ :c:func:`TIFFWriteEncodedTile` directly use user provided buffer when
+ no compression to save a :c:func:`memcpy`.
+
+* :file:`libtiff/tif_luv.c`: validate that for :c:macro:`COMPRESSION_SGILOG` and
+ :c:macro:`PHOTOMETRIC_LOGL`, there is only one sample per pixel. Avoid
+ potential invalid memory write on corrupted/unexpected images
+ when using the :c:func:`TIFFRGBAImageBegin` interface (reported by
+ Clay Wood)
+
+* :file:`libtiff/tif_pixarlog.c`: fix potential buffer write overrun in
+ :c:func:`PixarLogDecode` on corrupted/unexpected images (reported by
+ Mathias Svensson) (:cve:`2016-5875`)
+
+* libtiff/libtiff.def: Added ``_TIFFMultiply32`` and
+ ``_TIFFMultiply64`` to libtiff.def
+
+* :file:`libtiff/tif_config.vc.h` (:c:macro:`HAVE_SNPRINTF`): Add a '1' to the
+ :c:macro:`HAVE_SNPRINTF` definition.
+
+* :file:`libtiff/tif_config.vc.h` (:c:macro:`HAVE_SNPRINTF`): Applied patch by
+ Edward Lam to define :c:macro:`HAVE_SNPRINTF` for Visual Studio 2015.
+
+* :file:`libtiff/tif_dirread.c`: when compiled with :c:macro:`DEFER_STRILE_LOAD`,
+ fix regression, introduced on 2014-12-23, when reading a
+ one-strip file without a ``StripByteCounts`` tag. GDAL #6490
+
+* libtiff/*: upstream typo fixes (mostly contributed by Kurt
+ Schwehr) coming from GDAL internal libtiff
+
+* :file:`libtiff/tif_fax3.h`: make :c:member:`Param` member of :c:struct:`TIFFFaxTabEnt`
+ structure a :c:type:`uint16` to reduce size of the binary.
+
+* :file:`libtiff/tif_read.c`, :file:`tif_dirread.c`: fix indentation issues
+ raised by GCC 6 ``-Wmisleading-indentation``
+
+* :file:`libtiff/tif_pixarlog.c`: avoid zlib error messages to pass a
+ :c:macro:`NULL` string to ``%s`` formatter, which is undefined behaviour in
+ :c:func:`sprintf`.
+
+* :file:`libtiff/tif_next.c`: fix potential out-of-bound write in :c:func:`NeXTDecode`
+ triggered by `<http://lcamtuf.coredump.cx/afl/vulns/libtiff5.tif>`_
+ (:bugzilla:`2508`)
+
+* :file:`libtiff/tif_luv.c`: fix potential out-of-bound writes in
+ decode functions in non debug builds by replacing :c:func:`assert` by
+ regular ``if`` checks (:bugzilla:`2522`). Fix potential
+ out-of-bound reads in case of short input data.
+
+* :file:`libtiff/tif_getimage.c`: fix out-of-bound reads in
+ :c:type:`TIFFRGBAImage` interface in case of unsupported values of
+ ``SamplesPerPixel``/``ExtraSamples`` for LogLUV / CIELab. Add explicit
+ call to :c:func:`TIFFRGBAImageOK` in :c:func:`TIFFRGBAImageBegin`. Fix
+ :cve:`2015-8665` reported by limingxing and :cve:`2015-8683`
+ reported by zzf of Alibaba.
+
+* :file:`libtiff/tif_dirread.c`: workaround false positive warning of
+ Clang Static Analyzer about :c:macro:`NULL` pointer dereference in
+ :c:func:`TIFFCheckDirOffset`.
+
+* :file:`libtiff/tif_fax3.c`: remove dead assignment in
+ :c:func:`Fax3PutEOLgdal`. Found by Clang Static Analyzer
+
+* :file:`libtiff/tif_dirwrite.c`: fix truncation to 32 bit of file
+ offsets in :c:func:`TIFFLinkDirectory` and :c:func:`TIFFWriteDirectorySec`
+ when aligning directory offsets on a even offset (affects
+ BigTIFF). This was a regression of the changeset of
+ 2015-10-19.
+
+* :file:`libtiff/tif_write.c`: :c:func:`TIFFWriteEncodedStrip` and
+ :c:func:`TIFFWriteEncodedTile` should return -1 in case of failure of
+ :c:func:`tif_encodestrip` as documented
+
+* :file:`libtiff/tif_dumpmode.c`: :c:func:`DumpModeEncode` should return 0 in
+ case of failure so that the above mentioned functions detect
+ the error.
+
+* :file:`libtiff/*.c`: fix MSVC warnings related to cast shortening and
+ assignment within conditional expression
+
+* :file:`libtiff/*.c`: fix clang -Wshorten-64-to-32 warnings
+
+* :file:`libtiff/tif_dirread.c`: prevent reading ColorMap or
+ TransferFunction if ``BitsPerPixel`` > 24, so as to avoid huge
+ memory allocation and file read attempts
+
+* :file:`libtiff/tif_dirread.c`: remove duplicated assignment (reported
+ by Clang static analyzer)
+
+* :file:`libtiff/tif_dir.c`, :file:`libtiff/tif_dirinfo.c`,
+ :file:`libtiff/tif_compress.c`, :file:`libtiff/tif_jpeg_12.c`: suppress
+ warnings about 'no previous declaration/prototype'
+
+* :file:`libtiff/tiffiop.h`, :file:`libtiff/tif_dirwrite.c`: suffix constants
+ by U to fix 'warning: negative integer implicitly converted to
+ unsigned type' warning (part of ``-Wconversion``)
+
+* :file:`libtiff/tif_dir.c`, :file:`libtiff/tif_dirread.c`,
+ :file:`libtiff/tif_getimage.c`, :file:`libtiff/tif_print.c`: fix ``-Wshadow``
+ warnings (only in :file:`libtiff/`)
+
+
+Tools changes
+-------------
+
+* tools/Makefile.am: The libtiff tools :program:`bmp2tiff`, :program:`gif2tiff`,
+ :program:`ras2tiff`, :program:`sgi2tiff`, :program:`sgisv`, and :program:`ycbcr` are completely removed
+ from the distribution. The libtiff tools :program:`rgb2ycbcr` and
+ :program:`thumbnail` are only built in the build tree for testing. Old
+ files are put in new :file:`archive` subdirectory of the source
+ repository, but not in distribution archives. These changes
+ are made in order to lessen the maintenance burden.
+
+* :file:`tools/tiff2pdf.c`: avoid undefined behaviour related to
+ overlapping of source and destination buffer in :c:func:`memcpy` call
+ in :c:func:`t2p_sample_rgbaa_to_rgb` Fixes
+ :bugzilla:`2577`
+
+* :file:`tools/tiff2pdf.c`: fix potential integer overflows on 32 bit
+ builds in :c:func:`t2p_read_tiff_size` Fixes
+ :bugzilla:`2576`
+
+* :file:`tools/fax2tiff.c`: fix segfault when specifying ``-r`` without
+ argument. Patch by Yuriy M. Kaminskiy. Fixes
+ :bugzilla:`2572`
+
+* :file:`tools/tiffinfo.c`: fix out-of-bound read on some tiled images.
+ (:bugzilla:`2517`)
+
+* :file:`tools/tiffcrop.c`: fix multiple uint32 overflows in
+ :c:func:`writeBufferToSeparateStrips`, :c:func:`writeBufferToContigTiles` and
+ :c:func:`writeBufferToSeparateTiles` that could cause heap buffer
+ overflows. Reported by Henri Salo from Nixu Corporation.
+ Fixes :bugzilla:`2592`
+
+* :file:`tools/tiffcrop.c`: fix out-of-bound read of up to 3 bytes in
+ :c:func:`readContigTilesIntoBuffer`. Reported as MSVR 35092 by Axel
+ Souchet & Vishal Chauhan from the MSRC Vulnerabilities &
+ Mitigations team.
+
+* :file:`tools/tiff2pdf.c`: fix write buffer overflow of 2 bytes on
+ JPEG compressed images. Reported by Tyler Bohan of Cisco Talos
+ as TALOS-CAN-0187 / :cve:`2016-5652`. Also prevents writing 2
+ extra uninitialized bytes to the file stream.
+
+* :file:`tools/tiffcp.c`: fix out-of-bounds write on tiled images with odd
+ tile width vs image width. Reported as MSVR 35103
+ by Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
+ Mitigations team.
+
+* :file:`tools/tiff2pdf.c`: fix read -largely- outsize of buffer in
+ :c:func:`t2p_readwrite_pdf_image_tile`, causing crash, when reading a
+ JPEG compressed image with :c:macro:`TIFFTAG_JPEGTABLES` length being
+ one. Reported as MSVR 35101 by Axel Souchet and Vishal
+ Chauhan from the MSRC Vulnerabilities & Mitigations team.
+
+* :file:`tools/tiffcp.c`: fix read of undefined variable in case of
+ missing required tags. Found on test case of MSVR 35100.
+
+* :file:`tools/tiffcrop.c`: fix read of undefined buffer in
+ :c:func:`readContigStripsIntoBuffer` due to uint16 overflow. Probably
+ not a security issue but I can be wrong. Reported as MSVR
+ 35100 by Axel Souchet from the MSRC Vulnerabilities &
+ Mitigations team.
+
+* :file:`tools/tiffcrop.c`: fix various out-of-bounds write
+ vulnerabilities in heap or stack allocated buffers. Reported
+ as MSVR 35093, MSVR 35096 and MSVR 35097. Discovered by Axel
+ Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
+ Mitigations team.
+
+* :file:`tools/tiff2pdf.c`: fix out-of-bounds write vulnerabilities in
+ heap allocate buffer in :c:func:`t2p_process_jpeg_strip`. Reported as
+ MSVR 35098. Discovered by Axel Souchet and Vishal Chauhan from
+ the MSRC Vulnerabilities & Mitigations team.
+
+* :file:`tools/tiff2bw.c`: fix weight computation that could result of
+ color value overflow (no security implication). Fix :bugzilla:`2550`.
+ Patch by Frank Freudenberg.
+
+* :file:`tools/rgb2ycbcr.c`: validate values of ``-v`` and ``-h`` parameters to
+ avoid potential divide by zero. Fixes :cve:`2016-3623` (:bugzilla:`2569`)
+
+* :file:`tools/tiffcrop.c`: Fix out-of-bounds write in :c:func:`loadImage`.
+ From patch :file:`libtiff-CVE-2016-3991.patch` from
+ :file:`libtiff-4.0.3-25.el7_2.src.rpm` by Nikola Forro (:bugzilla:`2543`)
+
+* :file:`tools/tiff2rgba.c`: Fix integer overflow in size of allocated
+ buffer, when ``-b`` mode is enabled, that could result in
+ out-of-bounds write. Based initially on patch
+ :file:`tiff-CVE-2016-3945.patch` from :file:`libtiff-4.0.3-25.el7_2.src.rpm`
+ by Nikola Forro, with correction for invalid tests that
+ rejected valid files. (:bugzilla:`2545`)
+
+* :file:`tools/tiffcrop.c`: Avoid access outside of stack allocated
+ array on a tiled separate TIFF with more than 8 samples per
+ pixel. Reported by Kaixiang Zhang of the Cloud Security Team,
+ Qihoo 360 (:cve:`2016-5321` / :cve:`2016-5323` , :bugzilla:`2558` /
+ :bugzilla:`2559`)
+
+* :file:`tools/tiffdump.c`: fix a few misaligned 64-bit reads warned by
+ ``-fsanitize``
+
+* :file:`tools/tiffdump.c` (:c:func:`ReadDirectory`): Remove :c:type:`uint32` cast to
+ :c:func:`_TIFFmalloc` argument which resulted in Coverity report.
+ Added more mutiplication overflow checks.
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.0.8.rst b/doc/v4.0.8.rst
new file mode 100644
index 00000000..38b9d264
--- /dev/null
+++ b/doc/v4.0.8.rst
@@ -0,0 +1,390 @@
+Changes in TIFF v4.0.8
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.8 (:tag:`Release-v4-0-8`)
+ Previous Version :doc:`v4.0.7 <v4.0.7>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* None
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_getimage.c`, :file:`libtiff/tif_open.c`: add parenthesis
+ to fix cppcheck ``clarifyCalculation`` warnings
+
+* :file:`libtiff/tif_predict.c`, :file:`libtiff/tif_print.c`: fix printf
+ unsigned vs signed formatting (cppcheck
+ ``invalidPrintfArgType_uint`` warnings)
+
+* :file:`libtiff/tif_read.c`, :file:`libtiff/tiffiop.h`: fix :c:type:`uint32` overflow in
+ :c:func:`TIFFReadEncodedStrip` that caused an integer division by
+ zero. Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2596`
+
+* :file:`libtiff/tif_pixarlog.c`, :file:`libtiff/tif_luv.c`: fix heap-based
+ buffer overflow on generation of PixarLog / LUV compressed
+ files, with ``ColorMap``, ``TransferFunction`` attached and nasty
+ plays with ``bitspersample``. The fix for LUV has not been
+ tested, but suffers from the same kind of issue of PixarLog.
+ Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2604`
+
+* :file:`libtiff/tif_strip.c`: revert the change in
+ :c:func:`TIFFNumberOfStrips` done for
+ :bugzilla:`2587` /
+ :cve:`2016-9273` since the above change is a better fix that
+ makes it unnecessary.
+
+* :file:`libtiff/tif_dirread.c`: modify :c:func:`ChopUpSingleUncompressedStrip`
+ to instantiate compute ``nstrips`` as
+ ``TIFFhowmany_32(td->td_imagelength, rowsperstrip)``, instead of a
+ logic based on the total size of data. Which is faulty is the
+ total size of data is not sufficient to fill the whole image,
+ and thus results in reading outside of the
+ ``StripByCounts``/``StripOffsets`` arrays when using
+ :c:func:`TIFFReadScanline`. Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2608`.
+
+* :file:`libtiff/tif_ojpeg.c`: make :c:func:`OJPEGDecode` early exit in case of
+ failure in :c:func:`OJPEGPreDecode`. This will avoid a divide by zero,
+ and potential other issues. Reported by Agostino Sarubbo.
+ Fixes :bugzilla:`2611`
+
+* :file:`libtiff/tif_write.c`: fix misleading indentation as warned by GCC.
+
+
+* :file:`libtiff/tif_fax3.h`: revert change done on 2016-01-09 that
+ made :c:member:`Param` member of :c:struct:`TIFFFaxTabEnt` structure a :c:type:`uint16` to
+ reduce size of the binary. It happens that the Hylafax
+ software uses the tables that follow this typedef
+ (:c:var:`TIFFFaxMainTable`, :c:var:`TIFFFaxWhiteTable`, :c:var:`TIFFFaxBlackTable`),
+ although they are not in a public libtiff header. Raised by
+ Lee Howard. Fixes
+ :bugzilla:`2636`
+
+* :file:`libtiff/tiffio.h`, :file:`libtiff/tif_getimage.c`: add
+ :c:func:`TIFFReadRGBAStripExt` and :c:func:`TIFFReadRGBATileExt` variants of
+ the functions without ext, with an extra argument to control
+ the ``stop_on_error`` behaviour.
+
+* :file:`libtiff/tif_getimage.c`: fix potential memory leaks in error
+ code path of :c:func:`TIFFRGBAImageBegin`. Fixes
+ :bugzilla:`2627`
+
+* :file:`libtiff/tif_jpeg.c`: increase libjpeg max memory usable to 10
+ MB instead of libjpeg 1MB default. This helps when creating
+ files with "big" tile, without using libjpeg temporary files.
+ Related to https://trac.osgeo.org/gdal/ticket/6757
+
+* :file:`libtiff/tif_jpeg.c`: avoid integer division by zero in
+ :c:func:`JPEGSetupEncode` when horizontal or vertical sampling is set
+ to 0. Fixes :bugzilla:`2653`
+
+* :file:`libtiff/tif_dirwrite.c`: in
+ :c:func:`TIFFWriteDirectoryTagCheckedRational`, replace assertion by
+ runtime check to error out if passed value is strictly
+ negative. Fixes
+ :bugzilla:`2535`
+
+* :file:`libtiff/tif_dirread.c`: avoid division by floating point 0 in
+ :c:func:`TIFFReadDirEntryCheckedRational` and
+ :c:func:`TIFFReadDirEntryCheckedSrational`, and return 0 in that case
+ (instead of infinity as before presumably) Apparently some
+ sanitizers do not like those divisions by zero. Fixes
+ :bugzilla:`2644`
+
+* :file:`libtiff/tif_dir.c`, :file:`tif_dirread.c`, :file:`tif_dirwrite.c`: implement
+ various clampings of double to other data types to avoid
+ undefined behaviour if the output range isn't big enough to
+ hold the input value. Fixes
+ :bugzilla:`2643`,
+ :bugzilla:`2642`,
+ :bugzilla:`2646`,
+ :bugzilla:`2647`
+
+* :file:`libtiff/tif_jpeg.c`: validate ``BitsPerSample`` in
+ :c:func:`JPEGSetupEncode` to avoid undefined behaviour caused by
+ invalid shift exponent. Fixes
+ :bugzilla:`2648`
+
+* :file:`libtiff/tif_read.c`: avoid potential undefined behaviour on
+ signed integer addition in :c:func:`TIFFReadRawStrip1` in :c:func:`isMapped`
+ case. Fixes :bugzilla:`2650`
+
+* :file:`libtiff/tif_getimage.c`: add explicit :c:func:`uint32` cast in
+ :c:var:`putagreytile` to avoid ``UndefinedBehaviorSanitizer`` warning.
+ Patch by Nicolás Peña. Fixes
+ :bugzilla:`2658`
+
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFReadBufferSetup`: use :c:func:`_TIFFcalloc`
+ to zero initialize :c:member:`tif_rawdata`. Fixes
+ :bugzilla:`2651`
+
+* :file:`libtiff/tiffio.h`, :file:`tif_unix.c`, :file:`tif_win32.c`, :file:`tif_vms.c`: add
+ :c:func:`_TIFFcalloc`
+
+* :file:`libtiff/tif_luv.c`, :file:`tif_lzw.c`, :file:`tif_packbits.c`: return 0 in
+ Encode functions instead of -1 when :c:func:`TIFFFlushData1` fails.
+ Fixes :bugzilla:`2130`
+
+* :file:`libtiff/tif_ojpeg.c`: fix leak in
+ :c:func:`OJPEGReadHeaderInfoSecTablesQTable`,
+ :c:func:`OJPEGReadHeaderInfoSecTablesDcTable` and
+ :c:func:`OJPEGReadHeaderInfoSecTablesAcTable` when read fails. Patch by
+ Nicolás Peña. Fixes
+ :bugzilla:`2659`
+
+* :file:`libtiff/tif_jpeg.c`: only run :c:func:`JPEGFixupTagsSubsampling` if
+ the ``YCbCrSubsampling`` tag is not explicitly present. This helps
+ a bit to reduce the I/O amount when the tag is present
+ (especially on cloud hosted files).
+
+* :file:`libtiff/tif_lzw.c`: in :c:func:`LZWPostEncode`, increase, if
+ necessary, the code bit-width after flushing the remaining
+ code and before emitting the EOI code. Fixes
+ :bugzilla:`1982`
+
+* :file:`libtiff/tif_pixarlog.c`: fix memory leak in error code path of
+ :c:func:`PixarLogSetupDecode`. Patch by Nicolás Peña. Fixes
+ :bugzilla:`2665`
+
+* :file:`libtiff/tif_fax3.c`, :file:`tif_predict.c`, :file:`tif_getimage.c`: fix GCC 7
+ ``-Wimplicit-fallthrough`` warnings.
+
+* :file:`libtiff/tif_dirread.c`: fix memory leak in non
+ :c::macro:`DEFER_STRILE_LOAD` mode (ie default) when there is both a
+ ``StripOffsets`` and ``TileOffsets`` tag, or a ``StripByteCounts`` and
+ ``TileByteCounts``. Fixes
+ :bugzilla:`2689`
+
+* :file:`libtiff/tif_ojpeg.c`: fix potential memory leak in
+ :c:func:`OJPEGReadHeaderInfoSecTablesQTable`,
+ :c:func:`OJPEGReadHeaderInfoSecTablesDcTable` and
+ :c:func:`OJPEGReadHeaderInfoSecTablesAcTable`. Patch by Nicolás Peña.
+ Fixes :bugzilla:`2670`
+
+* :file:`libtiff/tif_fax3.c`: avoid crash in :c:func:`Fax3Close` on empty file.
+ Patch by Alan Coopersmith + complement by myself. Fixes
+ :bugzilla:`2673`
+
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillStrip`: add limitation to the
+ number of bytes read in case ``td_stripbytecount[strip]`` is
+ bigger than reasonable, so as to avoid excessive memory
+ allocation.
+
+* :file:`libtiff/tif_zip.c`, :file:`tif_pixarlog.c`, :file:`tif_predict.c`: fix memory
+ leak when the underlying codec (ZIP, PixarLog) succeeds its
+ :c:func:`setupdecode` method, but :c:func:`PredictorSetup` fails. Credit to
+ OSS-Fuzz (locally run, on GDAL)
+
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillStrip` and :c:func:`TIFFFillTile`: avoid
+ excessive memory allocation in case of shorten files. Only
+ effective on 64 bit builds and non-mapped cases. Credit to
+ OSS-Fuzz (locally run, on GDAL)
+
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillStripPartial` / :c:func:`TIFFSeek`,
+ avoid potential integer overflows with read_ahead in
+ :c:macro:`CHUNKY_STRIP_READ_SUPPORT` mode. Should
+ especially occur on 32 bit platforms.
+
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillStripPartial`: avoid excessive
+ memory allocation in case of shorten files. Only effective on
+ 64 bit builds. Credit to OSS-Fuzz (locally run, on GDAL)
+
+* :file:`libtiff/tif_read.c`: update :c:member:`tif_rawcc` in
+ :c:macro:`CHUNKY_STRIP_READ_SUPPORT` mode with :c:member:`tif_rawdataloaded` when
+ calling :c:func:`TIFFStartStrip` or :c:func:`TIFFFillStripPartial`. This
+ avoids reading beyond :c:func:`tif_rawdata` when ``bytecount >
+ tif_rawdatasize``. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1545.
+ Credit to OSS-Fuzz
+
+* :file:`libtiff/tif_color.c`: avoid potential :c:type:`int32` overflow in
+ :c:func:`TIFFYCbCrToRGBInit`. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1533
+ Credit to OSS-Fuzz
+
+* :file:`libtiff/tif_pixarlog.c`, :file:`tif_luv.c`: avoid potential :c:type:`int32`
+ overflows in :c:func:`multiply_ms` and :c:func:`add_ms`. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1558
+ Credit to OSS-Fuzz
+
+* :file:`libtiff/tif_packbits.c`: fix out-of-buffer read in
+ :c:func:`PackBitsDecode`. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1563
+ Credit to OSS-Fuzz
+
+* :file:`libtiff/tif_luv.c`: :c:func:`LogL16InitState`: avoid excessive memory
+ allocation when ``RowsPerStrip`` tag is missing.
+ Credit to OSS-Fuzz (locally run, on GDAL)
+
+* :file:`libtiff/tif_lzw.c`: update dec_bitsleft at beginning of
+ LZWDecode(), and update tif_rawcc at end of LZWDecode(). This
+ is needed to properly work with the latest chnges in
+ tif_read.c in CHUNKY_STRIP_READ_SUPPORT mode.
+
+* :file:`libtiff/tif_pixarlog.c`: :c:func:`PixarLogDecode`: resync :c:member:`tif_rawcp`
+ with :c:member:`next_in` and :c:member:`tif_rawcc` with :c:member:`avail_in` at beginning and end
+ of function, similarly to what is done in :c:func:`LZWDecode. Likely
+ needed so that it works properly with latest chnges in
+ :file:`tif_read.c` in :c:macro:`CHUNKY_STRIP_READ_SUPPORT` mode. But untested...
+
+* :file:`libtiff/tif_getimage.c`: :c:func:`initYCbCrConversion`: add basic
+ validation of :c:var:`luma` and :c:var:`refBlackWhite` coefficients (just check
+ they are not NaN for now), to avoid potential :c:type:`float` to :c:type:`int`
+ overflows. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1663
+ Credit to OSS Fuzz
+
+* :file:`libtiff/tif_read.c`: :c:func:`_TIFFVSetField`: fix outside range cast
+ of :c:type:`double` to :c:type:`float`. Credit to Google Autofuzz project
+
+* :file:`libtiff/tif_getimage.c`: :c:func:`initYCbCrConversion`: check ``luma[1]``
+ is not zero to avoid division by zero. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665
+ Credit to OSS Fuzz
+
+* :file:`libtiff/tif_read.c`: :c:func:`_TIFFVSetField`: fix outside range cast
+ of :c:type:`double` to :c:type:`float`. Credit to Google Autofuzz project
+
+* :file:`libtiff/tif_getimage.c`: :c:func:`initYCbCrConversion`: check ``luma[1]``
+ is not zero to avoid division by zero. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665
+ Credit to OSS Fuzz
+
+* :file:`libtiff/tif_getimage.c`: :c:func:`initYCbCrConversion`: stricter
+ validation for :c:var:`refBlackWhite` coefficients values. To avoid
+ invalid :c:var:`float` to :c:var:`int32` conversion. Fixes
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1718
+ Credit to OSS Fuzz
+
+
+Tools changes
+-------------
+
+* :file:`tools/fax2tiff.c` (:c:func:`main`): Applied patch by Jörg Ahrens to fix
+ passing client data for Win32 builds using :file:`tif_win32.c`
+ (:c:macro:`USE_WIN32_FILEIO` defined) for file I/O. Patch was provided
+ via email on November 20, 2016.
+
+* :file:`tools/tiffcp.c`: avoid :c:type:`uint32` underflow in :c:func:`cpDecodedStrips`
+ that can cause various issues, such as buffer overflows in the
+ library. Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2598`
+
+ * :file:`tools/tiffcrop.c`: fix :c:func:`readContigStripsIntoBuffer` in ``-i``
+ (ignore) mode so that the output buffer is correctly
+ incremented to avoid write outside bounds. Reported by
+ Agostino Sarubbo. Fixes
+ :bugzilla:`2620`
+
+* :file:`tools/tiffcrop.c`: add 3 extra bytes at end of strip buffer in
+ :c:func:`readSeparateStripsIntoBuffer` to avoid read outside of heap
+ allocated buffer. Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2621`
+
+* :file:`tools/tiffcrop.c`: fix integer division by zero when
+ ``BitsPerSample`` is missing. Reported by Agostino Sarubbo.
+ Fixes :bugzilla:`2619`
+
+* :file:`tools/tiffinfo.c`: fix null pointer dereference in ``-r`` mode
+ when the image has no ``StripByteCount`` tag. Reported by
+ Agostino Sarubbo. Fixes
+ :bugzilla:`2594`
+
+* :file:`tools/tiffcp.c`: avoid potential division by zero if
+ ``BitsPerSamples`` tag is missing. Reported by Agostino Sarubbo.
+ Fixes :bugzilla:`2597`
+
+* :file:`tools/tif_dir.c`: when ``TIFFGetField(, TIFFTAG_NUMBEROFINKS, )``
+ is called, limit the return number of inks to ``SamplesPerPixel``,
+ so that code that parses ink names doesn't go past the end of
+ the buffer. Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2599`
+
+* :file:`tools/tiffcp.c`: avoid potential division by zero if
+ ``BitsPerSamples`` tag is missing. Reported by Agostino Sarubbo.
+ Fixes :bugzilla:`2607`
+
+* :file:`tools/tiffcp.c`: fix :c:type:`uint32` underflow/overflow that can cause
+ heap-based buffer overflow. Reported by Agostino Sarubbo.
+ Fixes :bugzilla:`2610`
+
+* :file:`tools/tiffcp.c`: replace ``assert( (bps % 8) == 0 )`` by a non
+ assert check. Reported by Agostino Sarubbo. Fixes
+ :bugzilla:`2605`
+
+* :file:`tools/tiff2ps.c`: fix 2 heap-based buffer overflows (in
+ :c:func:`PSDataBW` and :c:func:`PSDataColorContig`). Reported by Agostino Sarubbo.
+ Fixes :bugzilla:`2633` and
+ :bugzilla:`2634`.
+
+* :file:`tools/tiff2pdf.c`: prevent heap-based buffer overflow in ``-j``
+ mode on a paletted image. Note: this fix errors out before the
+ overflow happens. There could probably be a better fix. Fixes
+ :bugzilla:`2635`
+
+* :file:`tools/tiff2pdf.c`: fix wrong usage of :c:func:`memcpy` that can
+ trigger unspecified behaviour. Fixes
+ :bugzilla:`2638`
+
+* :file:`tools/tiff2pdf.c`: avoid potential invalid memory read in
+ :c:func:`t2p_writeproc`. Fixes
+ :bugzilla:`2639`
+
+* :file:`tools/tiff2pdf.c`: avoid potential heap-based overflow in
+ :c:func:`t2p_readwrite_pdf_image_tile`. Fixes
+ :bugzilla:`2640`
+
+* :file:`tools/tiffcrop.c`: remove extraneous :c:func:`TIFFClose` in error code
+ path, that caused double free. Related to
+ :bugzilla:`2535`
+
+* :file:`tools/tiffcp.c`: error out cleanly in :c:func:`cpContig2SeparateByRow`
+ and :c:func:`cpSeparate2ContigByRow` if ``BitsPerSample != 8`` to avoid heap
+ based overflow. Fixes
+ :bugzilla:`2656` and
+ :bugzilla:`2657`
+
+* :file:`tools/raw2tiff.c`: avoid integer division by zero. Fixes
+ :bugzilla:`2631`
+
+* :file:`tools/tiff2ps.c`: call :c:func:`TIFFClose` in error code paths.
+
+* :file:`tools/fax2tiff.c`: emit appropriate message if the input file
+ is empty. Patch by Alan Coopersmith. Fixes
+ :bugzilla:`2672`
+
+* :file:`tools/tiff2bw.c`: close :c:struct:`TIFF` handle in error code path. Fixes
+ :bugzilla:`2677`
+
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.0.9.rst b/doc/v4.0.9.rst
new file mode 100644
index 00000000..9b0836c5
--- /dev/null
+++ b/doc/v4.0.9.rst
@@ -0,0 +1,317 @@
+Changes in TIFF v4.0.9
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.0.9 (:tag:`Release-v4-0-9`)
+ Previous Version :doc:`v4.0.8 <v4.0.8>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here:
+
+
+Major changes
+-------------
+
+* None
+
+
+Software configuration changes
+------------------------------
+
+* :file:`test/Makefile.am`: Add some tests for tiff2bw.
+* :file:`.appveyor.yml`, :file:`.travis.yml`, :file:`build/travis-ci`: apply patches
+ :file:`0001-ci-Travis-script-improvements.patch` and
+ :file:`0002-ci-Invoke-helper-script-via-shell.patch` by Roger Leigh
+ (sent to mailing list)
+* :file:`.travis.yml`, :file:`build/travis-ci`: new files from
+ :file:`0001-ci-Add-Travis-support-for-Linux-builds-with-Autoconf.patch` by
+ Roger Leigh (sent to mailing list on 2017-06-08).
+ This patch adds support for the Travis-CI service.
+* :file:`.appveyor.yml`: new file from
+ :file:`0002-ci-Add-AppVeyor-support.patch` by Roger Leigh (sent to mailing
+ list on 2017-06-08).
+ This patch adds a :file:`.appveyor.yml` file to the top-level. This allows
+ one to opt in to having a branch built on Windows with Cygwin,
+ MinGW and MSVC automatically when a branch is pushed to GitHub,
+ GitLab, BitBucket or any other supported git hosting service.
+* :file:`CMakeLists.txt`, :file:`test/CMakeLists.txt`, :file:`test/TiffTestCommon.cmake`: apply
+ patch :file:`0001-cmake-Improve-Cygwin-and-MingGW-test-support.patch` from Roger
+ Leigh (sent to mailing list on 2017-06-08).
+ This patch makes the CMake build system support running the tests
+ with MinGW or Cygwin.
+
+* :file:`test/tiffcp-lzw-compat.sh`, :file:`test/images/quad-lzw-compat.tiff`: new files
+ to test old-style LZW decompression
+* :file:`test/common.sh`, :file:`Makefile.am`, :file:`CMakeList.txt`: updated with above
+* :file:`test/Makefile.am`: add missing reference to images/quad-lzw-compat.tiff
+ to fix ``make distcheck``. Patch by Roger Leigh
+* :file:`nmake.opt`: support a ``DEBUG=1`` option, so as to adjust ``OPTFLAGS`` and use
+ ``/MDd`` runtime in debug mode.
+
+
+Library changes
+---------------
+
+* :file:`libtiff/tif_color.c`: :c:func:`TIFFYCbCrToRGBInit`: stricter clamping to avoid
+ :c:type:`int32` overflow in :c:func:`TIFFYCbCrtoRGB`.
+ Fixes :oss-fuzz:`1844`.
+ Credit to OSS Fuzz
+
+* :file:`libtiff/tif_getimage.c`: :c:func:`initYCbCrConversion`: stricter validation for
+ ``refBlackWhite`` coefficients values. To avoid invalid ``float->int32`` conversion
+ (when ``refBlackWhite[0] == 2147483648.f``)
+ Fixes :oss-fuzz:`1907`.
+ Credit to OSS Fuzz
+
+* :file:`libtiff/tif_dirinfo.c`, :file:`tif_dirread.c`: add :c:func:`_TIFFCheckFieldIsValidForCodec`()`,
+ and use it in :c:func:`TIFFReadDirectory` so as to ignore fields whose tag is a
+ codec-specified tag but this codec is not enabled. This avoids :c:func:`TIFFGetField`
+ to behave differently depending on whether the codec is enabled or not, and
+ thus can avoid stack based buffer overflows in a number of TIFF utilities
+ such as :program:`tiffsplit`, :program:`tiffcmp`, :program:`thumbnail`, etc.
+ Patch derived from :file:`0063-Handle-properly-CODEC-specific-tags.patch`
+ (:bugzilla:`2580`) by Raphaël Hertzog.
+ Fixes:
+ :bugzilla:`2580`,
+ :bugzilla:`2693`,
+ :bugzilla:`2625` (:cve:`2016-10095`),
+ :bugzilla:`2564` (:cve:`2015-7554`),
+ :bugzilla:`2561` (:cve:`2016-5318`),
+ :bugzilla:`2499` (:cve:`2014-8128`),
+ :bugzilla:`2441`,
+ :bugzilla:`2433`.
+
+* :file:`libtiff/tif_swab.c`: if :c:macro:`DISABLE_CHECK_TIFFSWABMACROS` is defined, do not do
+ the ``#ifdef TIFFSwabXXX`` checks. Make it easier for GDAL to rename the symbols
+ of its internal libtiff copy.
+
+* :file:`libtiff/tif_dirread.c`: fix regression of libtiff 4.0.8 in
+ :c:func:`ChopUpSingleUncompressedStrip` regarding update of newly single-strip
+ uncompressed files whose bytecount is 0. Before the change of 2016-12-03,
+ the condition ``bytecount==0`` used to trigger an early exit/disabling of
+ strip chop. Re-introduce that in update mode. Otherwise this cause
+ later incorrect setting for the value of ``StripByteCounts``/``StripOffsets``.
+ (:gdal-trac:`6924`).
+* :file:`libtiff/tif_dirread.c`: :c:func:`TIFFFetchStripThing`: limit the number of items
+ read in ``StripOffsets``/``StripByteCounts`` tags to the number of strips to avoid
+ excessive memory allocation.
+ Fixes :oss-fuzz:`2215`.
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_getimage.c`: avoid many (harmless) :c:type:`unsigned int` overflows.
+* :file:`libtiff/tif_fax3.c`: avoid :c:type:`unsigned int` overflow in :c:func:`Fax3Encode2DRow`. Could
+ potentially be a bug with huge rows.
+* :file:`libtiff/tif_jpeg.c`: avoid (harmless) :c:type:`unsigned int` overflow on tiled images.
+* :file:`libtiff/tif_dirread.c`: avoid :c:type:`unsigned int` overflow in :c:func:`EstimateStripByteCounts`
+ and ``BYTECOUNTLOOKSBAD`` when file is too short.
+* :file:`libtiff/tif_predict.c`: decorate legitimate functions where :c:type:`unsigned int`
+ overflow occur with :c:macro:`TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW`
+* :file:`libtiff/tif_dirread.c`: avoid :c:type:`unsigned int` overflow in :c:func:`EstimateStripByteCounts`
+* :file:`libtiff/tiffiop.h`: add :c:macro:`TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW` macro to
+ disable CLang warnings raised by ``-fsanitize=undefined,unsigned-integer-overflow``
+* :file:`libtiff/tif_jpeg.c`: add anti-denial of service measure to avoid excessive
+ CPU consumption on progressive JPEGs with a huge number of scans.
+ See `<http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf>`_.
+
+ .. note::
+
+ Only affects libtiff since 2014-12-29 where support of non-baseline JPEG
+ was added.
+
+* :file:`libtiff/tif_jpeg.c`: error out at decoding time if anticipated libjpeg
+ memory allocation is above 100 MB. libjpeg in case of multiple scans,
+ which is allowed even in baseline JPEG, if components are spread over several
+ scans and not interleavedin a single one, needs to allocate memory (or
+ backing store) for the whole strip/tile.
+ See `<http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf>`_.
+ This limitation may be overridden by setting the
+ ``LIBTIFF_ALLOW_LARGE_LIBJPEG_MEM_ALLOC`` environment variable, or recompiling
+ libtiff with a custom value of :c:macro:`TIFF_LIBJPEG_LARGEST_MEM_ALLOC` macro.
+* :file:`libtiff/tif_jbig.c`: fix memory leak in error code path of :c:func:`JBIGDecode`.
+ Fixes :bugzilla:`2706`.
+ Reported by team OWL337
+* :file:`libtiff/tif_dirread.c`: in :c:func:`TIFFReadDirEntryFloat`, check that a
+ double value can fit in a float before casting. Patch by Nicolas RUFF
+* :file:`libtiff/tiffiop.h`, :file:`libtiff/tif_jpeg.c`, :file:`libtiff/tif_jpeg_12.c`,
+ :file:`libtiff/tif_read.c`: make :c:func:`TIFFReadScanline` works in
+ :c:macro:`CHUNKY_STRIP_READ_SUPPORT` mode with JPEG stream with multiple scans.
+ Also make configurable through a ``LIBTIFF_JPEG_MAX_ALLOWED_SCAN_NUMBER``
+ environment variable the maximum number of scans allowed. Defaults to
+ 100.
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillTile`: add limitation to the number
+ of bytes read in case td_stripbytecount[strip] is bigger than
+ reasonable, so as to avoid excessive memory allocation (similarly to
+ what was done for :c:func:`TIFFFileStrip` on 2017-05-10)
+* :file:`libtiff/tif_getimage.c`: use :c:func:`_TIFFReadEncodedStripAndAllocBuffer`.
+ Fixes :bugzilla:`2708` and
+ :oss-fuzz:`2433`.
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_read.c`, tiffiop.h: add a :c:func:`_TIFFReadEncodedStripAndAllocBuffer`
+ function, variant of :c:func:`TIFFReadEncodedStrip` that allocates the
+ decoded buffer only after a first successful :c:func:`TIFFFillStrip`. This avoids
+ excessive memory allocation on corrupted files.
+* :file:`libtiff/tif_dirwrite.c`: in :c:func:`TIFFWriteDirectoryTagCheckedXXXX`
+ functions associated with LONG8/SLONG8 data type, replace assertion that
+ the file is BigTIFF, by a non-fatal error.
+ Fixes :bugzilla:`2712`
+ Reported by team OWL337
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFStartTile`: set tif_rawcc to
+ tif_rawdataloaded when it is set. Similarly to :c:func:`TIFFStartStrip`.
+ This issue was revealed by the change of 2017-06-30 in :c:func:`TIFFFileTile`,
+ limiting the number of bytes read. But it could probably have been hit
+ too in CHUNKY_STRIP_READ_SUPPORT mode previously ?
+ Fixes :oss-fuzz:`2454`
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_error.c, tif_warning.c`: correctly use va_list when both
+ an old-style and new-style warning/error handlers are installed.
+ Patch by Paavo Helde (sent on the mailing list)
+* :file:`libtiff/tif_getimage.c`: use :c:func:`_TIFFReadTileAndAllocBuffer`.
+ Fixes :oss-fuzz:`2470`
+ Credit to OSS Fuzz.
+* :file:`libtiff/tif_read.c`, tiffiop.h: add a :c:func:`_TIFFReadEncodedTileAndAllocBuffer`
+ and :c:func:`_TIFFReadTileAndAllocBuffer` variants of :c:func:`TIFFReadEncodedTile` and
+ :c:func:`TIFFReadTile` that allocates the decoded buffer only after a first
+ successful :c:func:`TIFFFillTile`. This avoids excessive memory allocation
+ on corrupted files.
+* :file:`libtiff/tif_pixarlog.c`: avoid excessive memory allocation on decoding
+ when RowsPerStrip tag is not defined (and thus td_rowsperstrip == UINT_MAX)
+ Fixes :oss-fuzz:`2554`
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_lzw.c`: fix 4.0.8 regression in the decoding of old-style LZW
+ compressed files.
+* :file:`libtiff/tif_lzw.c`: fix potential out-of-buffer read on 1-byte LZW
+ strips. Crashing issue only on memory mapped files, where the strip
+ offset is the last byte of the file, and the file size is a multiple
+ of one page size on the CPU architecture (typically 4096). Credit
+ to myself :-)
+* :file:`libtiff/tif_dir.c`: avoid potential null pointer dereference in
+ :c:func:`_TIFFVGetField` on corrupted TIFFTAG_NUMBEROFINKS tag instance.
+ Fixes :bugzilla:`2713`
+ <LI> tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw"
+ mode on PlanarConfig=Contig input images.
+ Fixes :bugzilla:`2715`
+ Reported by team OWL337
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillStrip` / :c:func:`TIFFFillTile`.
+ Complementary fix for :bugzilla:`2708`
+ in the :c:func:`isMapped` case, so as to avoid excessive memory allocation
+ when we need a temporary buffer but the file is truncated.
+* :file:`libtiff/tif_read.c`: :c:func:`TIFFFillStrip` / :c:func:`TIFFFillTile`.
+ Complementary fix for :bugzilla:`2708`
+ in the :c:func:`isMapped` case, so as to avoid excessive memory allocation
+ when we need a temporary buffer but the file is truncated.
+* :file:`libtiff/tif_read.c`: in :c:func:`TIFFFetchStripThing`, only grow the
+ arrays that hold StripOffsets/StripByteCounts, when they are smaller
+ than the expected number of striles, up to 1 million striles, and
+ error out beyond. Can be tweaked by setting the environment variable
+ ``LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT``.
+ This partially goes against a change added on 2002-12-17 to accept
+ those arrays of wrong sizes, but is needed to avoid denial of services.
+ Fixes :oss-fuzz:`2350`
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_read.c`: in :c:func:`TIFFFetchStripThing`, only grow the
+ arrays that hold ``StripOffsets``/``StripByteCounts``, when they are smaller
+ than the expected number of striles, up to 1 million striles, and
+ error out beyond. Can be tweaked by setting the environment variable
+ ``LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT``.
+ This partially goes against a change added on 2002-12-17 to accept
+ those arrays of wrong sizes, but is needed to avoid denial of services.
+ Fixes :oss-fuzz:`2350`
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_read.c`: add protection against excessive memory
+ allocation attempts in :c:func:`TIFFReadDirEntryArray` on short files.
+ Effective for mmap'ed case. And non-mmap'ed case, but restricted
+ to 64bit builds.
+ Fixes :bugzilla:`2675`
+* :file:`libtiff/tif_read.c`: add protection against excessive memory
+ allocation attempts in :c:func:`TIFFReadDirEntryArray` on short files.
+ Effective for mmap'ed case. And non-mmap'ed case, but restricted
+ to 64bit builds.
+ Fixes :bugzilla:`2675`
+* :file:`libtiff/tif_luv.c`: :c:func:`LogLuvInitState`: avoid excessive memory
+ allocation when ``RowsPerStrip`` tag is missing.
+ Fixes :oss-fuzz:`2683`
+ Credit to OSS-Fuzz
+* :file:`libtiff/tif_getimage.c`: :c:func:`gtTileContig` and :c:func:`gtTileSeparate`:
+ properly break from loops on error when ``stoponerr`` is set, instead
+ of going on iterating on row based loop.
+* :file:`libtiff/tif_getimage.c`: fix fromskew computation when to-be-skipped
+ pixel number is not a multiple of the horizontal subsampling, and
+ also in some other cases. Impact ``putcontig8bitYCbCr44tile``,
+ ``putcontig8bitYCbCr42tile``, ``putcontig8bitYCbCr41tile``,
+ ``putcontig8bitYCbCr21tile`` and ``putcontig8bitYCbCr12tile``.
+ Fixes :bugzilla:`2637` (discovered by Agostino Sarubbo)
+ and :oss-fuzz:`2691` (credit to OSS Fuzz)
+* :file:`libtiff/tif_luv.c`: further reduce memory requirements for temporary
+ buffer when ``RowsPerStrip >= image_length`` in :c:func:`LogLuvInitState` and
+ :c:func:`LogL16InitState`.
+ Fixes :oss-fuzz:`2700`
+ Credit to OSS Fuzz
+* :file:`libtiff/tif_dirwrite.c`: replace assertion related to not finding the
+ ``SubIFD`` tag by runtime check (in :c:func:`TIFFWriteDirectorySec`)
+ Fixes :bugzilla:`2727`
+ Reported by team OWL337
+* :file:`libtiff/tif_dirwrite.c`: replace assertion to tag value not fitting
+ on :c:type:`uint32` when selecting the value of ``SubIFD`` tag by runtime check
+ (in :c:func:`TIFFWriteDirectoryTagSubifd`).
+ Fixes :bugzilla:`2728`
+ Reported by team OWL337
+* :file:`libtiff/tif_jpeg.c`: accept reading the last strip of a JPEG compressed
+ file if the codestream height is larger than the truncated height of the
+ strip. Emit a warning in this situation since this is non compliant.
+* :file:`libtiff/tiffiop.h`, :c:type:`tif_aux.c`: redirect :c:func:`SeekOK` macro to a :c:func:`_TIFFSeekoK`
+ function that checks if the offset is not bigger than :c:macro:`INT64_MAX`, so as
+ to avoid a ``-1`` error return code of :c:func:`TIFFSeekFile` to match a required
+ seek to :c:macro:`UINT64_MAX`/``-1``.
+ Fixes :bugzilla:`2726`
+ Adapted from proposal by Nicolas Ruff.
+* :file:`libtiff/tif_dirread.c`: add :c:macro:`NULL` check to avoid likely false positive
+ null-pointer dereference warning by CLang Static Analyzer.
+* :file:`libtiff/libtiff.def`: add :c:func:`TIFFReadRGBAStripExt` and :c:func:`TIFFReadRGBATileExt`
+ Fixes :bugzilla:`2735`
+* :file:`libtiff/tif_jpeg.c`: add compatibility with libjpeg-turbo 1.5.2 that
+ honours ``max_memory_to_use > 0``.
+ Cf `<https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162>`_.
+* :file:`libtiff/tif_getimage.c`: avoid floating point division by zero in
+ :c:func:`initCIELabConversion`
+ Fixes :oss-fuzz:`3733`
+ Credit to OSS Fuzz
+
+
+Tools changes
+-------------
+
+* :file:`tools/tiff2pdf.c`: prevent heap buffer overflow write in "Raw"
+ mode on ``PlanarConfig=Contig`` input images.
+ Fixes :bugzilla:`2715`
+ Reported by team OWL337
+* :file:`tools/tiffset.c`: fix setting a single value for the ``ExtraSamples`` tag
+ (and other tags with variable number of values).
+ So ``tiffset -s ExtraSamples 1 X``. This only worked
+ when setting 2 or more values, but not just one.
+* :file:`tools/fax2tiff.c` (``_FAX_Client_Data``): Pass ``FAX_Client_Data`` as the
+ client data. This client data is not used at all at the moment,
+ but it makes the most sense. Issue that the value of
+ ``client_data.fd`` was passed where a pointer is expected was reported
+ via email by Gerald Schade on Sun, 29 Oct 2017.
+* :file:`tools/tiff2pdf.c` (``t2p_sample_realize_palette``): Fix possible
+ arithmetic overflow in bounds checking code and eliminate
+ comparison between signed and unsigned type.
+* :file:`tools/tiff2bw.c` (:c:func:`main`): Free memory allocated in the :program:`tiff2bw`
+ program. This is in response to the report associated with
+ :cve:`2017-16232` but does not solve the extremely high memory usage
+ with the associated POC file.
+
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.1.0.rst b/doc/v4.1.0.rst
new file mode 100644
index 00000000..23e5ec20
--- /dev/null
+++ b/doc/v4.1.0.rst
@@ -0,0 +1,96 @@
+Changes in TIFF v4.1.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.1.0 (:tag:`v4.1.0`)
+ Previous Version :doc:`v4.0.10 <v4.0.10>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document describes the changes made to the software between the
+*previous* and *current* versions (see above). If you don't
+find something listed here, then it was not done in this timeframe, or
+it was not considered important enough to be mentioned. The following
+information is located here. A change summary is also provided by the
+:file:`ChangeLog` file included in the release package and by the Git commit
+history:
+
+
+Major changes
+-------------
+
+* Make defer strile offset/bytecount loading available at runtime
+ and add per-strile offset/bytecount loading capabilities. Part of
+ this commit makes the behaviour that was previously met when libtiff
+ was compiled with ``-DDEFER_STRILE_LOAD`` available for default builds
+ when specifying the new ``D`` (Deferred) :c:func:`TIFFOpen` flag. In that
+ mode, the [``Tile``/``Strip``][``ByteCounts``/``Offsets``] arrays are only loaded
+ when first accessed. This can speed-up the opening of files stored
+ on the network when just metadata retrieval is needed.
+
+ Another addition is the capability of loading only the values of
+ the offset/bytecount of the strile of interest instead of the
+ whole array. This is enabled with the new ``O`` (Ondemand) flag of
+ :c:func:`TIFFOpen` (which implies ``D``).
+
+ The public :c:func:`TIFFGetStrileOffset[WithErr]` and
+ :c:func:`TIFFGetStrileByteCount[WithErr]` functions have been added to
+ API. They are of particular interest when using sparse files (with
+ ``offset == bytecount == 0``) and you want to detect if a strile is
+ present or not without decompressing the data, or updating an
+ existing sparse file.
+
+* The BigTIFF writer now optimizes file size by using 32-bit ``LONG``
+ values (rather than 64-bit) where it is reasonable and safe to do
+ so. Likewise, the 16-bit ``SHORT`` type is used when possible for
+ ``StripByteCounts``/``TileByteCounts``.
+
+
+Software configuration changes
+------------------------------
+
+* The ``WIN32`` build now uses :file:`tif_win32.c` when building with CMake.
+
+* Properly set value of :c:macro:`HOST_FILLORDER` to :c:macro:`LSB2MSB` for Windows
+ CMake builds. It was not being properly set!
+
+
+Library changes
+---------------
+
+* Changes in the libtiff library may be viewed on-line
+ `Libtiff Library Commits <https://gitlab.com/libtiff/libtiff/commits/master/libtiff>`_..
+
+* New function :c:func:`TIFFReadFromUserBuffer` which replaces the use of
+ :c:func:`TIFFReadEncodedStrip`/:c:func:`TIFFReadEncodedTile` when the user can
+ provide the buffer for the input data, for example when he wants
+ to avoid libtiff to read the strile offset/count values from the
+ ``[Strip|Tile][Offsets/ByteCounts]`` array.
+
+* New functions :c:func:`TIFFDeferStrileArrayWriting` and :c:func:`TIFFForceStrileArrayWriting`.
+ Those advanced writing functions must be used in a particular sequence
+ to make their intended effect. Their aim is to control when/where
+ the ``[Strip/Tile][Offsets/ByteCounts]`` arrays are written into the file.
+
+ The purpose of this is to generate 'cloud-optimized geotiff' files where
+ the first KB of the file only contain the IFD entries without the potentially
+ large strile arrays. Those are written afterwards.
+
+
+Tools changes
+-------------
+
+* Changes in the libtiff utilities may be viewed on-line
+ at `Libtiff Tools Commits <https://gitlab.com/libtiff/libtiff/commits/master/tools>`_.
+
+
+Contributed software changes
+----------------------------
+
+* Changes in the libtiff contrib area may be viewed on-line
+ at `Libtiff Contrib Commits <https://gitlab.com/libtiff/libtiff/commits/master/contrib>`_.
diff --git a/doc/v4.2.0.rst b/doc/v4.2.0.rst
new file mode 100644
index 00000000..e1e8d581
--- /dev/null
+++ b/doc/v4.2.0.rst
@@ -0,0 +1,103 @@
+Changes in TIFF v4.2.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.2.0 (:tag:`v4.2.0`)
+ Previous Version :doc:`v4.1.0 <v4.1.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<https://libtiff.gitlab.io/libtiff/>`_
+ Master HTTP Site #3 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document provides a summary of significant changes made to the
+software between the *previous* and *current* versions (see
+above). A fully-detailed change summary is provided by the :file:`ChangeLog` file
+included in the release package and by the Git commit history:
+
+
+Major changes
+-------------
+
+* Optional support for using libdeflate is added.
+* Many of the tools now support a memory usage limit.
+
+
+Software configuration changes
+------------------------------
+
+* The Microsoft Windows 'nmake' build is resuscitated and provides
+ a default ``HAVE_STRTOLL`` setting in 'nmake.opt' which is suitable for
+ MSVC++ 14.0 ("Visual Studio 2015") and later but may be disabled in
+ order to compile with earlier compiler versions.
+
+* mingw-w64 cmake build fixes to not add libm
+
+
+Library changes
+---------------
+
+* A great many issues discovered by fuzzers (via oss-fuzz and other reports) have been addressed.
+* EXIF 2.32 and GPS tags and functionality have been upgraded:
+
+ * Existing EXIF field definition of tags are upgraded to EXIF version 2.3.2
+ * EXIF-GPS structure, tags and access functions are added as special ``CustomDirectory`` (like it was done for EXIF).
+ * Reading error for FileSource and SceneType tags corrected.
+
+* Make ``TIFFTAG_CFAPATTERN`` variable count.
+
+* Cmake configuration fixes for big-endian targets.
+
+* Added support for optional building against libdeflate for
+ faster Zip/Deflate compression/decompression.
+
+ We now have 2 kinds of builds with the Zip/Deflate codec:
+
+ * zlib only
+ * zlib + libdeflate
+
+ Speed improvements in the 35%-50% range can be expected when libdeflate is used.
+ Compression level up to 12 is now supported (capped to 9 when zlib is used).
+ Still requires zlib for situations where libdeflate cannot be used (that
+ is for scanline access, since libdeflate has no streaming mode)
+
+ Pseudo-tag ``TIFFTAG_DEFLATE_SUBCODEC=DEFLATE_SUBCODEC_ZLIB/DEFLATE_SUBCODEC_LIBDEFLATE``
+ is added to control which subcodec (zlib or libdeflate) should be used (it defaults
+ of course to libdeflate, when it is available).
+ This is mostly aimed at being used on the writing side, to be able to reproduce
+ output of previous libtiff versions at a binary level, in situations where this would
+ be really needed. Or as a safety belt in case there would be unforeseen issues
+ with using libdeflate.
+ It can be used to know when libdeflate is available at runtime (``DEFLATE_SUBCODEC_LIBDEFLATE``
+ will be the default value in that situation).
+
+ Of course, deflate codestreams produced by libdeflate can be read by zlib, and vice-versa.
+
+
+Tools changes
+-------------
+
+* A great many issues discovered by fuzzers (via oss-fuzz and other reports) have been addressed.
+
+* :program:`ppm2tiff`: support any bps value from 1 to 16.
+
+* :program:`tiff2ps`, :program:`tiff2rgba`: A default memory limit is now enforced (256MiB) and a ``-M`` option is added to allow the user to adjust the limit.
+
+* :program:`tiff2pdf`, :program:`tiffcp`: A default memory limit is now enforced (256MiB) and a ``-m`` option is added to allow the user to adjust the limit.
+
+* :program:`tiffcrop`: A default memory limit is now enforced (256MiB) and a ``-k`` option is added to allow the user to adjust the limit.
+
+* :program:`tiff2pdf`: fix "raw" copy of Deflate streams.
+
+* :program:`tiff2pdf.c`: properly calculate datasize when saving to JPEG YCbCr
+
+* :program:`tiffcp`: disable strip chopping when trying to convert to JBIG compression
+
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/doc/v4.3.0.rst b/doc/v4.3.0.rst
new file mode 100644
index 00000000..0e258775
--- /dev/null
+++ b/doc/v4.3.0.rst
@@ -0,0 +1,85 @@
+Changes in TIFF v4.3.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.3.0 (:tag:`v4.3.0`)
+ Previous Version :doc:`v4.2.0 <v4.2.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<https://libtiff.gitlab.io/libtiff/>`_
+ Master HTTP Site #3 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document provides a summary of significant changes made to the
+software between the *previous* and *current* versions (see
+above). A fully-detailed change summary is provided by the :file:`ChangeLog` file
+included in the release package and by the Git commit history:
+
+Major changes
+-------------
+
+* Build and usage of the library and its utilities requires a C99 capable
+ compiler.
+
+* New optional codec for the LERC (Limited Error Raster Compression) compression scheme.
+ To have it available, configure libtiff against the SDK available at
+ `<https://github.com/esri/lerc>`_
+
+* CMake build: revamp of build scripts
+
+Software configuration changes
+------------------------------
+
+* cmake: revamp of the cmake build scripts. There are impacts on the case of
+ some options.
+
+* cmake: update minimum version and policy version to 3.9.
+
+* Remove NMake build support. The functionality provided by the NMake build
+ is now completely superseded by the CMake build.
+
+* Remove antiquated Scons and makefile.lcc build support.
+
+* Remove non-functional VMS and WinCE support.
+
+* :file:`autogen.sh` now updates :file:`config.guess` and :file:`config.sub` from master gnulib version.
+
+Library changes
+---------------
+
+* Use of :c:type:`int8`, :c:type:`uint8`, :c:type:`int16`, :c:type:`uint16`,
+ :c:type:`int32`, :c:type:`uint32`, :c:type:`int64`, :c:type:`uint64`
+ typedefs is now deprecated. libtiff code and headers no longer use them,
+ and use their C99 standard equivalents (with ``_t`` suffix). Those typedefs
+ are still available, with deprecation warnings, but external code is strongly
+ encouraged to use the corresponding C99 :file:`stdint.h` types. The deprecated
+ types might be removed in a future release.
+
+* Removal of unused, or now useless due to C99 availability, functions in :file:`port/`
+
+* A few issues spotted by static code analysis tools fixed. Compiler
+ warnings addressed.
+
+Tools changes
+-------------
+
+* In usage text, insert a line of text summarizing each tool's purpose
+
+* tiff tools: made display of compression methods and their parameters
+ conditional on their actual availability
+
+* :program:`tiff2ps`: exit the loop in case of error (#232)
+
+* :program:`tiff2pdf`: check that tiff_datasize fits in a signed :c:type:`tsize_t` (#202)
+
+* :program:`tiffsplit`: exit with :c:macro:`EXIT_FAILURE` if there are extra args on the command line
+
+* :program:`tiffcmp`: fix comparaison with pixels that are fractional number of bytes (#53)
+
+Contributed software changes
+----------------------------
+
+* :file:`iptcutil.c` - set ``#ifdef _WIN32`` (was ``#ifdef WIN32``, which failed at build time)
diff --git a/doc/v4.4.0.rst b/doc/v4.4.0.rst
new file mode 100644
index 00000000..22c40e1f
--- /dev/null
+++ b/doc/v4.4.0.rst
@@ -0,0 +1,98 @@
+Changes in TIFF v4.4.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.4.0 (:tag:`v4.4.0`)
+ Previous Version :doc:`v4.3.0 <v4.3.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<https://libtiff.gitlab.io/libtiff/>`_
+ Master HTTP Site #3 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document provides a summary of significant changes made to the
+software between the *previous* and *current* versions (see
+above). A fully-detailed change summary is provided by the :file:`ChangeLog` file
+included in the release package and by the Git commit history:
+
+Major changes
+-------------
+
+None
+
+Software configuration changes
+------------------------------
+
+* Handle absolute paths in pkg-config file (:issue:`333`)
+* Correct fix for the pkgconf file relative paths.
+* cmake: allow running the tests with a read-only source directory.
+* cmake: Fix ``STRIPCHOP_DEFAULT`` value in CMake builds.
+* build: Fix static library imports in mingw related to LERC
+* Fix version in :file:`libtiff-4.pc.in`, and CMake build: Add requirements to pc file
+* cmake: Fix build with CMake 3.10.
+* cmake: Export tiff targets.
+* Make ``LERC_SUPPORT`` conditional on ``ZLIB_SUPPORT``
+
+Library changes
+---------------
+
+New/improved functionalities:
+
+* :c:func:`TIFFIsBigTiff` function added.
+* Functions :c:func:`TIFFFieldSetGetSize` and :c:func:`TIFFieldSetGetCountSize` added.
+* :c:func:`LZWDecode`: major speed improvements (~30% faster)
+* Predictor 2 (horizontal differenciation): support 64-bit
+* Support libjpeg 9d
+
+Bug fixes:
+
+* Remove incorrect assert (:issue:`329`)
+* avoid hang in :c:func:`TIFFRewriteDirectory` if a classic file > 4 GB is attempted to be created
+* :file:`tif_jbig.c`: fix crash when reading a file with multiple IFD in memory-mapped mode and when bit reversal is needed (fixes :issue:`385`)
+* :c:func:`TIFFFetchNormalTag`: avoid calling :c:func:`memcpy` with a null source pointer and size of zero (fixes :issue:`383`)
+* :c:func:`TIFFWriteDirectoryTagData`: turn assertion on data length into a runtime check
+* :c:func:`TIFFFetchStripThing`: avoid calling :c:func:`memcpy` with a null source pointer and size of zero (fixes :issue:`362`)
+* :c:func:`TIFFReadDirectory`: avoid calling :c:func:`memcpy` with a null source pointer and size of zero (fixes :issue:`362`)
+* :c:func:`TIFFYCbCrToRGBInit`: avoid Integer-overflow
+* ``TIFFGetField(TIFFTAG_STRIPBYTECOUNTS/TIFFTAG_STRIPOFFSETS)``: return error if returned pointer is NULL (fixes :issue:`342`)
+* OJPEG: avoid assertion when using :c:func:`TIFFReadScanline` (fixes :issue:`337`)
+* :c:func:`TIFFReadDirectory`: fix OJPEG hack (fixes :issue:`319`)
+* LZW codec: fix support for strips/tiles > 2 GB on Windows
+* :c:func:`TIFFAppendToStrip`: fix rewrite-in-place logic (fixes :issue:`309`)
+* Fix :c:func:`TIFFRewriteDirectory` discarding directories.
+* :c:func:`TIFFReadCustomDirectory`: avoid crash when reading SubjectDistance tag on a non EXIF directory (:issue:`316`)
+* Fix Segmentation fault printing GPS directory if ``Altitude`` tag is present
+* :file:`tif_jpeg.c`: do not emit progressive scans with mozjpeg. (:issue:`266`)
+* :c:func:`_TIFFRewriteField`: fix when writing a IFD with a single tile that is a sparse one, on big endian hosts
+* Fix all remaining uses of legacy Deflate compression id and warn on use.
+
+Tools changes
+-------------
+
+Bug fixes:
+
+* :program:`tiffcrop`: Fix issue :issue:`330` and some more from 320 to 349.
+* :program:`tiffcrop`: fix issue :issue:`395`: generation of strange section images.
+* :program:`tiffcrop`: fix issue :issue:`380` and :issue:`382` heap buffer overflow in extractImageSection
+* :program:`tiffcrop`: fix FPE (:issue:`393`)
+* :program:`tiffcrop`: buffsize check formula in :c:func:`loadImage` amended (fixes :issue:`273`, :issue:`275`)
+* :program:`tiffcrop.c`: Fix issue :issue:`352` heap-buffer-overflow by correcting :c:type:`uint32_t` underflow.
+* :program:`tiff2pdf`: handle 8-bit palette colormap.
+* :program:`tiffcp`: avoid buffer overflow in "mode" string (fixes :issue:`400`)
+* :program:`tiffcp`: Fix incomprehensible setting of orientation tag (fixes :issue:`29`)
+* :program:`tiffcp`: do not try to fetch compressor-specific tags when not appropriate (fixes :issue:`396`)
+* :program:`tiffcp`: fix heap buffer overflow (:issue:`278`)
+* :program:`tiff2ps`: In :c:func:`limitMalloc` check for negative size (fixes :issue:`284`)
+* :program:`tiffinfo`: add a ``-M`` switch to define the maximum heap allocation, and default it to 256 MiB (fixes :issue:`287`, :issue:`290`)
+* :program:`tiffinfo`: limit more memory allocations using ``-M`` switch (fixes :issue:`288`)
+* :program:`tiffset`: fix global-buffer-overflow for ASCII tags where count is required (fixes :issue:`355`)
+* :program:`raw2tiff`: check that band number if not zero to avoid floating point exception(fixes :issue:`338`)
+* :program:`tiffinfo`/:program:`tiffdump`: improve output for GDAL tags.
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/html/BigTIFFProposal.html b/html/BigTIFFProposal.html
deleted file mode 100644
index c64909f2..00000000
--- a/html/BigTIFFProposal.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en">
-<head>
- <title>Proposal to Implement BigTIFF Support in LibTiff</title>
-</head>
-<body>
- <h1>Proposal to Implement BigTIFF Support in LibTiff</h1>
- <p><b>NEWS:</b> We have located all four required sponsors. There are no more
- open slots. We will issue appropriate press release shortly.</p>
- <h2>0. Summary</h2>
- <p>BigTIFF logically extends the original TIFF file format (referred to as
- 'ClassicTIFF' from this point on), breaking the 4 gigabyte boundary, in theory
- allowing files up to 18,000 petabytes in size. The BigTIFF specification is the
- result of work by a variety of parties on the LibTiff mailing list, including
- the current LibTiff maintainers, Joris Van Damme and Adobe staff. The BigTIFF
- specification has not yet been officially approved by the TIFF specification
- owner (Adobe) but implementation within LibTiff could accelerate that
- process.</p>
- <p>For more information on the BigTIFF file format, we recommend
- <a href="http://www.awaresystems.be/imaging/tiff/bigtiff.html">AWare Systems'
- BigTIFF page.</a></p>
- <p>BigTIFF is expected to be especially useful for people and vendors that are
- confronted with unusually large images, and still seek to use an open, simple,
- and extendable format. This requirement is frequently seen in the geospatial
- field, but also affects large format scanners, medical imaging and other
- fields.</p>
- <h2>1. Sponsoring</h2>
- <p>It is planned that LibTiff 4.0, the BigTIFF upgrade to LibTiff, would start
- March 1, 2007. A preliminary version (LibTiff 4.0alpha1) will be operational by
- June 15, 2007. Testing and final release improvements for LibTiff 4.0 will be
- completed by July 30, 2007.</p>
- <p>The LibTiff BigTIFF upgrade team is seeking USD 24,000 from four sponsors (USD
- 6,000 each) to fund the project. Sponsorship payment will be invoiced upon
- delivery of the LibTiff 4.0alpha1 release (on or before June 15) with a 30 day
- payable, giving time for some technical review.</p>
- <p>In addition to the benefits of open interchange of BigTIFF data that comes from
- support in a public and free open source codec, sponsors will be given proper
- public acknowledgment. During development, they will be mentioned in the
- appropriate sections of the LibTiff and AWare Systems site.</p>
- <p>When LibTiff 4.0 with BigTIFF support is released, they will additionally
- receive public acknowledgment in a formal press release, distributed widely to
- news venues in the imaging and geospatial industries.</p>
- <p>A 'migration guide' document or any functional equivalent thereof will be
- included in the standard free distribution, but sponsors will additionally
- receive up to 20 hours of consulting and support on any BigTIFF migration issues
- that they may be facing, and/or any additional related requests they may have.</p>
- <h2>2. Development and Testing</h2>
- <p>The work will primarily be done by Joris Van Damme on behalf of his company
- AWare Systems. Joris was closely involved in the drafting of the BigTIFF file
- format proposal, and has also developed the proprietary AWare Systems TIFF
- codec that already supports BigTIFF. Joris Van Damme has a deep understanding
- of the TIFF format, and has been acting as a LibTiff co-maintainer for over a
- year, contributing the upgraded OJPEG codec as well as several other
- improvements.</p>
- <p>Joris and AWare Systems have agreed to crosstest their proprietary codec and
- LibTiff's support for BigTIFF extensively. Joris will also extend the test image
- library included with LibTiff, with a number of varying BigTIFF test files.
- These files will primarily include test files with issues that relate closely
- to the BigTIFF file format and the difference with ClassicTIFF. For instance,
- in BigTIFF the datatypes TIFF_LONG, TIFF_LONG8, TIFF_IFD and TIFF_IFD8 are all
- valid for tags pointing to additional IFDs, and thus files will be included to
- illustrate and enable testing all of these. Additionally, Joris will build a
- tool to enable creating test files that exceed 4 gigabyte, as these can of
- course not be included in the test suite in a more direct manner, and a tool to
- convert files from ClassicTIFF to BigTIFF, as well as the other way around for
- source BigTIFF files that do not exceed 4 gigabyte in size.</p>
- <p>Frank Warmerdam has also agreed to be involved in a consulting and validation
- role. Frank has been LibTiff's primary maintainer since approximately the year
- 2000, develops large-image exploitation software for the geospatial industry
- (GDAL) and is currently President of the Open Source Geospatial Foundation
- (OSGeo). Frank will also be ensuring that BigTIFF improvements are made
- accessible to all users of the GDAL library.</p>
- <h2>3. Implementation Strategy</h2>
- <p>Many people who have a need for BigTIFF, use LibTiff already. We thus plan to
- support BigTIFF in LibTiff, applying a minimum change strategy much like the
- one that was applied in the creation of the new file format in the first
- place.</p>
- <p>To support BigTIFF, we will use a 64bit integer datatype. It is anticipated
- that some older platforms will not be able to comply with this need, and for
- that reason we will encapsulate all required changes inside a conditional
- compilation switch.</p>
- <p>While it is anticipated that there will be ABI (application binary interface)
- changes as part of a BigTIFF support upgrade to LibTiff, and possibly some
- more to support other major upgrades to LibTiff, the plan is such that
- the source level API will remain compatible for most LibTiff applications.
- Applications using specialized interfaces may require some minor source code
- changes, but we will provide backwards compatibility to support the majority
- of existing application level code.</p>
- <p>The resulting LibTiff version would transparently support reading traditional
- 32bit ClassicTIFF files, and 64bit BigTIFF files, as well as writing either
- ClassicTIFF or BigTIFF files based on a flag in the TIFFOpen/TIFFClientOpen call.</p>
- <h2>4. Intellectual Property and Licensing</h2>
- <p>The licensing agreement of LibTiff will remain unchanged.</p>
- <h2>5. Contact information</h2>
- <p>Please contact <a href="mailto:warmerdam@pobox.com">Frank Warmerdam</a> and/or
- <a href="mailto:info@awaresystems.be">Joris Van Damme</a> for more information
- on sponsorship agreements.</p>
-</body>
-</html> \ No newline at end of file
diff --git a/html/CMakeLists.txt b/html/CMakeLists.txt
deleted file mode 100644
index 178ae1df..00000000
--- a/html/CMakeLists.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-# CMake build for libtiff
-#
-# Copyright © 2015 Open Microscopy Environment / University of Dundee
-# Written by Roger Leigh <rleigh@codelibre.net>
-#
-# Permission to use, copy, modify, distribute, and sell this software and
-# its documentation for any purpose is hereby granted without fee, provided
-# that (i) the above copyright notices and this permission notice appear in
-# all copies of the software and related documentation, and (ii) the names of
-# Sam Leffler and Silicon Graphics may not be used in any advertising or
-# publicity relating to the software without the specific, prior written
-# permission of Sam Leffler and Silicon Graphics.
-#
-# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-
-set(docfiles
- addingtags.html
- bugs.html
- build.html
- contrib.html
- document.html
- images.html
- index.html
- internals.html
- intro.html
- libtiff.html
- misc.html
- support.html
- TIFFTechNote2.html
- tools.html
- v3.4beta007.html
- v3.4beta016.html
- v3.4beta018.html
- v3.4beta024.html
- v3.4beta028.html
- v3.4beta029.html
- v3.4beta031.html
- v3.4beta032.html
- v3.4beta033.html
- v3.4beta034.html
- v3.4beta035.html
- v3.4beta036.html
- v3.5.1.html
- v3.5.2.html
- v3.5.3.html
- v3.5.4.html
- v3.5.5.html
- v3.5.6-beta.html
- v3.5.7.html
- v3.6.0.html
- v3.6.1.html
- v3.7.0alpha.html
- v3.7.0beta.html
- v3.7.0beta2.html
- v3.7.0.html
- v3.7.1.html
- v3.7.2.html
- v3.7.3.html
- v3.7.4.html
- v3.8.0.html
- v3.8.1.html
- v3.8.2.html
- v3.9.0beta.html
- v3.9.1.html
- v3.9.2.html
- v4.0.0.html
- v4.0.1.html
- v4.0.2.html
- v4.0.3.html
- v4.0.4.html
- v4.0.4beta.html
- v4.0.5.html
- v4.0.6.html
- v4.0.7.html
- v4.0.8.html
- v4.0.9.html
- v4.0.10.html
- v4.1.0.html
- v4.2.0.html
- v4.3.0.html)
-
-install(FILES ${docfiles}
- DESTINATION "${LIBTIFF_DOCDIR}/html")
-
-add_subdirectory(images)
-add_subdirectory(man)
diff --git a/html/Makefile.am b/html/Makefile.am
deleted file mode 100644
index cd1483bd..00000000
--- a/html/Makefile.am
+++ /dev/null
@@ -1,101 +0,0 @@
-#
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# Permission to use, copy, modify, distribute, and sell this software and
-# its documentation for any purpose is hereby granted without fee, provided
-# that (i) the above copyright notices and this permission notice appear in
-# all copies of the software and related documentation, and (ii) the names of
-# Sam Leffler and Silicon Graphics may not be used in any advertising or
-# publicity relating to the software without the specific, prior written
-# permission of Sam Leffler and Silicon Graphics.
-#
-# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-
-# Process this file with automake to produce Makefile.in.
-
-docdir = $(LIBTIFF_DOCDIR)/html
-
-docfiles = \
- addingtags.html \
- bugs.html \
- build.html \
- contrib.html \
- document.html \
- images.html \
- index.html \
- internals.html \
- intro.html \
- libtiff.html \
- misc.html \
- support.html \
- TIFFTechNote2.html \
- tools.html \
- v3.4beta007.html \
- v3.4beta016.html \
- v3.4beta018.html \
- v3.4beta024.html \
- v3.4beta028.html \
- v3.4beta029.html \
- v3.4beta031.html \
- v3.4beta032.html \
- v3.4beta033.html \
- v3.4beta034.html \
- v3.4beta035.html \
- v3.4beta036.html \
- v3.5.1.html \
- v3.5.2.html \
- v3.5.3.html \
- v3.5.4.html \
- v3.5.5.html \
- v3.5.6-beta.html \
- v3.5.7.html \
- v3.6.0.html \
- v3.6.1.html \
- v3.7.0alpha.html \
- v3.7.0beta.html \
- v3.7.0beta2.html \
- v3.7.0.html \
- v3.7.1.html \
- v3.7.2.html \
- v3.7.3.html \
- v3.7.4.html \
- v3.8.0.html \
- v3.8.1.html \
- v3.8.2.html \
- v3.9.0beta.html \
- v3.9.1.html \
- v3.9.2.html \
- v4.0.0.html \
- v4.0.1.html \
- v4.0.2.html \
- v4.0.3.html \
- v4.0.4beta.html \
- v4.0.4.html \
- v4.0.5.html \
- v4.0.6.html \
- v4.0.7.html \
- v4.0.8.html \
- v4.0.9.html \
- v4.0.10.html \
- v4.1.0.html \
- v4.2.0.html \
- v4.3.0.html \
- v4.4.0.html
-
-dist_doc_DATA = $(docfiles)
-
-SUBDIRS = images man
-
-EXTRA_DIST = \
- CMakeLists.txt
diff --git a/html/addingtags.html b/html/addingtags.html
deleted file mode 100644
index 462d1ebf..00000000
--- a/html/addingtags.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Modifying The TIFF Library
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-
-<H1>
-Defining New TIFF Tags
-</H1>
-
-Libtiff has built-in knowledge of all the standard TIFF tags, as
-well as extensions. The following describes how to add knowledge of
-new tags as builtins to libtiff, or how to application specific tags can
-be used by applications without modifying libtiff.
-<p>
-
-<h2>TIFFFieldInfo</h2>
-
-How libtiff manages specific tags is primarily controlled by the
-definition for that tag value stored internally as a TIFFFieldInfo structure.
-This structure looks like this:
-<p>
-
-<pre>
-typedef struct {
- ttag_t field_tag; /* field's tag */
- short field_readcount; /* read count / TIFF_VARIABLE / TIFF_VARIABLE2 / TIFF_SPP */
- short field_writecount; /* write count / TIFF_VARIABLE / TIFF_VARIABLE2 */
- TIFFDataType field_type; /* type of associated data */
- unsigned short field_bit; /* bit in fieldsset bit vector */
- unsigned char field_oktochange;/* if true, can change while writing */
- unsigned char field_passcount;/* if true, pass dir count on set */
- char *field_name; /* ASCII name */
-} TIFFFieldInfo;
-</pre>
-
-<ul>
-<li> <b>field_tag</b>: the tag number. For instance 277 for the
-SamplesPerPixel tag. Builtin tags will generally have a #define in
-tiff.h for each known tag. <p>
-
-<li> <b>field_readcount</b>: The number of values which should be read.
-The special value TIFF_VARIABLE (-1) indicates that a variable number of
-values may be read. The special value TIFFTAG_SPP (-2) indicates that there
-should be one value for each sample as defined by TIFFTAG_SAMPLESPERPIXEL.
-The special value TIFF_VARIABLE2 (-3) is similar to TIFF_VARIABLE
-but the required TIFFGetField() count value must be uint32_t* instead of uint16_t* as for TIFF_VARIABLE (-1).
-For ASCII fields with variable length, this field is TIFF_VARIABLE.<p>
-
-<li> <b>field_writecount</b>: The number of values which should be written.
-Generally the same as field_readcount. A few built-in exceptions exist, but
-I haven't analysed why they differ. <p>
-
-<li> <b>field_type</b>: Type of the field. One of TIFF_BYTE, TIFF_ASCII,
-TIFF_SHORT, TIFF_LONG, TIFF_RATIONAL, TIFF_SBYTE, TIFF_UNDEFINED,
-TIFF_SSHORT, TIFF_SLONG, TIFF_SRATIONAL, TIFF_FLOAT, TIFF_DOUBLE or
-TIFF_IFD. Note that some fields can support more than one type (for
-instance short and long). These fields should have multiple TIFFFieldInfos.
-<p>
-
-<li> <b>field_bit</b>: Built-in tags stored in special fields in the
-TIFF structure have assigned field numbers to distinguish them (ie.
-FIELD_SAMPLESPERPIXEL). New tags should generally just use
-FIELD_CUSTOM indicating they are stored in the generic tag list.<p>
-
-<li> <b>field_oktochange</b>: TRUE if it is OK to change this tag value
-while an image is being written. FALSE for stuff that must be set once
-and then left unchanged (like ImageWidth, or PhotometricInterpretation for
-instance).<p>
-
-<li> <b>field_passcount</b>: If TRUE, then the count value must be passed
-in TIFFSetField(), and TIFFGetField(), otherwise the count is not required.
-This should generally be TRUE for non-ascii variable count tags unless
-the count is implicit (such as with the colormap).<p>
-
-<li> <b>field_name</b>: A name for the tag. Normally mixed case (studly caps)
-like "StripByteCounts" and relatively short. <p>
-
-</ul>
-
-A TIFFFieldInfo definition exists for each built-in tag in the tif_dirinfo.c
-file. Some tags which support multiple data types have more than one
-definition, one per data type supported. <p>
-
-Various functions exist for getting the internal TIFFFieldInfo definitions,
-including _TIFFFindFieldInfo(), and _TIFFFindFieldInfoByName(). See
-tif_dirinfo.c for details. There must be some mechanism to get the whole
-list, though I don't see it off hand.<p>
-
-<h2>Default Tag Auto-registration</h2>
-
-In libtiff 3.6.0 a new mechanism was introduced allowing libtiff to
-read unrecognised tags automatically. When an unknown tags is encountered,
-it is automatically internally defined with a default name and a type
-derived from the tag value in the file. Applications only need to predefine
-application specific tags if they need to be able to set them in a file, or
-if particular calling conventions are desired for TIFFSetField() and
-TIFFGetField().<p>
-
-When tags are autodefined like this the <b>field_readcount</b> and
-<b>field_writecount</b> values are always TIFF_VARIABLE2 (-3). The
-<b>field_passcount</b> is always TRUE, and the <b>field_bit</b> is
-FIELD_CUSTOM. The field name will be "Tag %d" where the %d is the tag
-number.
-<BR>Thus, to read anonymous auto-registered tags use the following:
-<pre>
- uint32_t count;
- void* value; //has to be a pointer to the expected value type.
- TIFFGetField(tif, TIFFTAG_UNKNOWN_TO_LIBTIFF, &count, &value);
-
-</pre><p>
-
-<h2>Defining Application Tags</h2>
-
-For various reasons, it is common for applications to want to define
-their own tags to store information outside the core TIFF specification.
-This is done by calling TIFFMergeFieldInfo() with one or more TIFFFieldInfos.
-<p>
-
-The libgeotiff library provides geospatial information extensions within
-a TIFF file. First, a set of TIFFFieldInfo's is prepared with information
-on the new tags:<p>
-
-<pre>
-static const TIFFFieldInfo xtiffFieldInfo[] = {
-
- /* XXX Insert Your tags here */
- { TIFFTAG_GEOPIXELSCALE, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
- TRUE, TRUE, "GeoPixelScale" },
- { TIFFTAG_GEOTRANSMATRIX, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
- TRUE, TRUE, "GeoTransformationMatrix" },
- { TIFFTAG_GEOTIEPOINTS, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
- TRUE, TRUE, "GeoTiePoints" },
- { TIFFTAG_GEOKEYDIRECTORY, -1,-1, TIFF_SHORT, FIELD_CUSTOM,
- TRUE, TRUE, "GeoKeyDirectory" },
- { TIFFTAG_GEODOUBLEPARAMS, -1,-1, TIFF_DOUBLE, FIELD_CUSTOM,
- TRUE, TRUE, "GeoDoubleParams" },
- { TIFFTAG_GEOASCIIPARAMS, -1,-1, TIFF_ASCII, FIELD_CUSTOM,
- TRUE, FALSE, "GeoASCIIParams" }
-};
-</pre>
-
-In order to define the tags, we call TIFFMergeFieldInfo() on the
-desired TIFF handle with the list of TIFFFieldInfos.<p>
-
-<pre>
-#define N(a) (sizeof (a) / sizeof (a[0]))
-
- /* Install the extended Tag field info */
- TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
-</pre>
-
-The tags need to be defined for each TIFF file opened - and when reading
-they should be defined before the tags of the file are read, yet a valid
-TIFF * is needed to merge the tags against. In order to get them
-registered at the appropriate part of the setup process, it is necessary
-to register our merge function as an extender callback with libtiff.
-This is done with TIFFSetTagExtender(). We also keep track of the
-previous tag extender (if any) so that we can call it from our extender
-allowing a chain of customizations to take effect. <P>
-
-<pre>
-static TIFFExtendProc _ParentExtender = NULL;
-
-static
-void _XTIFFInitialize(void)
-{
- static int first_time=1;
-
- if (! first_time) return; /* Been there. Done that. */
- first_time = 0;
-
- /* Grab the inherited method and install */
- _ParentExtender = TIFFSetTagExtender(_XTIFFDefaultDirectory);
-}
-</pre>
-
-The extender callback is looks like this. It merges in our new fields
-and then calls the next extender if there is one in effect.<p>
-
-<pre>
-static void
-_XTIFFDefaultDirectory(TIFF *tif)
-{
- /* Install the extended Tag field info */
- TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
-
- /* Since an XTIFF client module may have overridden
- * the default directory method, we call it now to
- * allow it to set up the rest of its own methods.
- */
-
- if (_ParentExtender)
- (*_ParentExtender)(tif);
-}
-</pre>
-
-The above approach ensures that our new definitions are used when reading
-or writing any TIFF file. However, since on reading we already have
-default definitions for tags, it is usually not critical to pre-define them.
-If tag definitions are only required for writing custom tags, you can just
-call TIFFMergeFieldInfo() before setting new tags. The whole extender
-architecture can then be avoided.<p>
-
-<H2 id="AddingTags">Adding New Builtin Tags</H2>
-<P>
-A similar approach is taken to the above. However, the TIFFFieldInfo
-should be added to the tiffFieldInfo[] list in tif_dirinfo.c. Ensure that
-new tags are added in sorted order by the tag number.<p>
-
-Normally new built-in tags should be defined with FIELD_CUSTOM; however, if
-it is desirable for the tag value to have it's own field in the TIFFDirectory
-structure, then you will need to #define a new FIELD_ value for it, and
-add appropriate handling as follows:
-
-
-<OL>
-<LI>Define the tag in <B>tiff.h</B>.
-<LI>Add a field to the directory structure in <B>tif_dir.h</B>
- and define a <TT>FIELD_*</TT> bit (also update the definition of
- <TT>FIELD_CODEC</TT> to reflect your addition).
-<LI>Add an entry in the <TT>TIFFFieldInfo</TT> array defined at the top of
- <B>tif_dirinfo.c</B>.
- Note that you must keep this array sorted by tag
- number and that the widest variant entry for a tag should come
- first (e.g. <TT>LONG</TT> before <TT>SHORT</TT>).
-<LI>Add entries in <TT>_TIFFVSetField()</TT> and <TT>_TIFFVGetField()</TT>
- for the new tag.
-<LI>(<I>optional</I>) If the value associated with the tag is not a scalar value
- (e.g. the array for <TT>TransferFunction</TT>) and requires
- special processing,
- then add the appropriate code to <TT>TIFFReadDirectory()</TT> and
- <TT>TIFFWriteDirectory()</TT>. You're best off finding a similar tag and
- cribbing code.
-<LI>Add support to <TT>TIFFPrintDirectory()</TT> in <B>tif_print.c</B>
- to print the tag's value.
-</OL>
-
-<P>
-If you want to maintain portability, beware of making assumptions
-about data types. Use the typedefs (<TT>uint16_t</TT>, etc. when dealing with
-data on disk and <TT>t*_t</TT> when stuff is in memory) and be careful about
-passing items through printf or similar vararg interfaces.
-
-<H2 id="AddingCODECTags">Adding New Codec-private Tags</H2>
-<P>
-To add tags that are meaningful <EM>only when a particular compression
-algorithm is used</EM> follow these steps:
-
-<OL>
-<LI>Define the tag in <B>tiff.h</B>.
-<LI>Allocate storage for the tag values in the private state block of
- the codec.
-<LI>Insure the state block is created when the codec is initialized.
-<LI>At <TT>TIFFInitfoo</TT> time override the method pointers in the
- TIFF structure
- for getting, setting and printing tag values. For example,
-<PRE>
- sp->vgetparent = tif->tif_vgetfield;
- tif->tif_vgetfield = fooVGetField; /* hook for codec tags */
- sp->vsetparent = tif->tif_vsetfield;
- tif->tif_vsetfield = fooVSetField; /* hook for codec tags */
- tif->tif_printdir = fooPrintDir; /* hook for codec tags */
-</PRE>
- (Actually you may decide not to override the
- <TT>tif_printdir</TT> method, but rather just specify it).
-<LI>Create a private <TT>TIFFFieldInfo</TT> array for your tags and
- merge them into the core tags at initialization time using
- <TT>_TIFFMergeFieldInfo</TT>; e.g.
-<PRE>
- _TIFFMergeFieldInfo(tif, fooFieldInfo, N(fooFieldInfo));
-</PRE>
- (where <TT>N</TT> is a macro used liberaly throughout the distributed code).
-<LI>Fill in the get and set routines. Be sure to call the parent method
- for tags that you are not handled directly. Also be sure to set the
- <TT>FIELD_*</TT> bits for tags that are to be written to the file. Note that
- you can create ``pseudo-tags'' by defining tags that are processed
- exclusively in the get/set routines and never written to file (see
- the handling of <TT>TIFFTAG_FAXMODE</TT> in <B>tif_fax3.c</B>
- for an example of this).
-<LI>Fill in the print routine, if appropriate.
-</OL>
-
-Note that space has been allocated in the <TT>FIELD_*</TT> bit space for
-codec-private tags. Define your bits as <TT>FIELD_CODEC+&lt;offset&gt;</TT> to
-keep them away from the core tags. If you need more tags than there
-is room for, just increase <TT>FIELD_SETLONGS</TT> at the top of
-<B>tiffiop.h</B>.
-
-<HR>
-
-Last updated: $Date: 2016-09-25 20:05:44 $
-
-</BODY>
-
-</HTML>
diff --git a/html/bigtiffdesign.html b/html/bigtiffdesign.html
deleted file mode 100644
index 814c28af..00000000
--- a/html/bigtiffdesign.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<title>BigTIFF Design</title>
-</head>
-<body>
-
-<h1>BigTIFF Design</h1>
-
-<p>This is the HTML equivalent of a former Wiki working place for preparing a 64-bit (larger than 4GB) TIFF
-format specification. The design is based on a proposal by Steve Carlsen of Adobe, with input from various
-other parties.</p>
-
-<h2>Briefly</h2>
-<ul>
-<li>Version = 43</li>
-
-<li>8-byte offset to first IFD</li>
-<li>Value/Offset fields are 8 bytes</li>
-<li>8-byte offset to the next IFD</li>
-<li>add TIFFType of LONG8, an 8 byte (unsigned) int</li>
-<li>StripOffsets and TileOffsets and ByteCounts can be LONG8</li>
-</ul>
-
-<h2>More Detail</h2>
-<ul>
-<li>The Version ID, in header bytes 2-3, formerly decimal 42, now changes to 43</li>
-
-<li>Header bytes 4-5 contain the decimal number 8.<ul>
- <li>If there is some other number here, a reader should give up.</li>
- <li>This is to provide a nice way to move to 16-byte pointers some day.</li></ul></li>
-<li>Header bytes 6-7 are reserved and must be zero.<ul>
- <li>If they're not, a reader should give up.</li></ul></li>
-<li>Header bytes 8-15 contain the 8-byte offset to the first IFD.</li>
-<li>Value/Offset fields are 8 bytes long, and take up bytes 8-15 in an IFD entry.<ul>
-
- <li>If the value is &lt;= 8 bytes, it must be stored in the field.</li>
- <li>All values must begin at an 8-byte-aligned address.</li></ul></li>
-<li>8-byte offset to the Next_IFD, at the end of an IFD.</li>
-<li>To keep IFD entries 8-byte-aligned, we begin with an 8-byte (instead of 2-byte) count of the number of directory entries.</li>
-<li>Add TIFFTypes of LONG8 (= 16), an 8 byte (unsigned) int, and SLONG8 (= 17).</li>
-<li>Add TIFFType IFD8 (=18) an 8byte IFD offset.</li>
-<li>StripOffsets and TileOffsets and ByteCounts may be LONG8 or the traditionally allowed LONG or SHORT.</li>
-
-<li>The proposed extension is ".tf8", and call it "8-Byte TIFF".</li>
-</ul>
-<p>Otherwise, it's just like "original TIFF." ("TIFF Classic?")</p>
-
-<h2>Open Issues</h2>
-<ul>
-<li>What to call the new format<ul>
- <li>ChrisCox -- I don't think end users will understand what "8-byte TIFF" means</li>
- <li>AndreyKiselev - 23 Sep 2004 -- What about TIFF64? "64" is a widely used buzzword and should be directly associated with the 64-bit offsets and 64-bit architectures.</li></ul></li>
-
-<li>What 3 character file extension to use (gotta be DOS compatible)</li>
-<li>What 4 character file type to use (for Macintosh)</li>
-<li>What MIME type to use</li>
-</ul>
-
-<h2>Samples</h2>
-<p><a href="http://www.awaresystems.be/imaging/tiff/bigtiff/BigTIFFSamples.zip">Example files</a> from Joris Van Damme</p>
-
-<h2>Changes</h2>
-
-<ul>
-<li>TIFFType 13 is ttIFD, 14 is assigned to ttUnicode, and 15 is assigned to ttComplex. So, I changed the types for ttLong8 and ttSLong8 to 16 and 17, respectively.<ul>
- <li>AndreyKiselev - 23 Sep 2004 -- Where are these fields defined? Is there any new Technical Note or something? And what is encoding behind the word "Unicode"?</li>
- <li>ChrisCox - 27 Sep 2004 -- They are in the Adobe TIFF definitions. I am still working on releasing updated TIFF documentation.</li></ul></li>
-<li>Added list of open issues.</li>
-<li>settle on version 43</li>
-<li>cleanup</li>
-<li>TIFFType 18 (8 byte IFD) added.</li>
-
-<li>Clarified that fields which may be LONG8 can also be one of the old supported types.</li>
-</ul>
-
-<h2>See also</h2>
-<p><a href="http://www.awaresystems.be/imaging/tiff/bigtiff.html">AWare Systems' informal overview of the BigTIFF proposal</a></p>
-
-</body>
-</html>
diff --git a/html/bigtiffpr.html b/html/bigtiffpr.html
deleted file mode 100644
index 578c46f2..00000000
--- a/html/bigtiffpr.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en">
-<head>
- <title>Extending LibTiff library with support for the new BigTIFF format</title>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="content-language" content="en">
-</head>
-<body lang="en">
- <h1>Extending LibTiff library with support for the new BigTIFF format</h1>
- <p>
- <a href=".">LibTiff</a> maintainers have started work on LibTiff 4.0,
- the next major upgrade of the time-proven <a href="http://www.awaresystems.be/imaging/tiff.html">TIFF</a>
- codec. This upgrade will include support for the new BigTIFF file format. It is planned a preliminary
- version (LibTiff 4.0alpha1) will be operational by June 15, 2007. Testing and final release improvements
- for LibTiff 4.0 will be completed by July 30, 2007.
- </p>
- <p>
- BigTIFF logically extends the original TIFF file format (referred to as 'ClassicTIFF' from now on),
- breaking the 4 gigabyte boundary, with 64bit offsets allowing files up to 18,000 petabytes in size. The
- BigTIFF specification is the result of work by a variety of parties on the LibTiff mailing list, including
- the current LibTiff maintainers, Joris Van Damme and Adobe staff. The BigTIFF specification has not yet
- been officially approved by the TIFF specification owner (Adobe), but implementation within LibTiff
- could accelerate that process. For more information on the BigTIFF file format, we recommend AWare Systems'
- <a href="http://www.awaresystems.be/imaging/tiff/bigtiff.html">BigTIFF page</a>.
- </p>
- <p>
- BigTIFF will be especially useful for people and vendors that are confronted with very large images, and
- still seek to use an open, simple, and extendable format. This requirement is frequently encountered in the
- geospatial field, but also concerns large format scanners, medical imaging and other fields.
- </p>
- <p>
- The LibTiff BigTIFF upgrade is made possible by four sponsors funding the project. The programming work will
- primarily be done by <a href="http://www.awaresystems.be/index.html">Joris Van Damme (AWare Systems)</a>.
- LibTiff's licensing agreement will remain unchanged. More details on the project itself, are available from
- the <a href="BigTIFFProposal.html">BigTIFF in LibTiff project page</a>.
- </p>
- <p>
- The sponsors are, in alphabetical order:
- </p>
- <table cellspacing="4" cellpadding="4" border="0">
- <tbody>
- <tr>
- <td><img src="bigtiffpr_images/esri.png" width="128" height="78" alt="ESRI" border="0"></td>
- <td><a href="http://www.esri.com/">ESRI</a> has been giving customers around the world the power to
- think and plan geographically since 1969. As the leader in GIS, ESRI applies innovative technologies to help
- organizations create, analyze, and visualize information for more informed decisions. Running on more than
- a million desktops and thousands of servers, ESRI applications are the foundation of the world's mapping and
- spatial analysis infrastructure.</td>
- </tr>
- <tr>
- <td><img src="bigtiffpr_images/leica.png" width="128" height="85" alt="Leica Geosystems Geospatial Imaging" border="0"></td>
- <td><a href="http://gi.leica-geosystems.com/default.aspx">Leica Geosystems Geospatial Imaging</a> offers a
- range of workflow solutions for photogrammetry, mapping, remote sensing, catalog management and exploitation
- of geospatial imagery. Enterprise organizations use this imagery as the basis for generating information for
- both education and decision making processes. Those who use Leica Geosystems products every day trust them
- for their precision, seamless integration, interoperability and superior customer support.</td>
- </tr>
- <tr>
- <td><img src="bigtiffpr_images/safe.png" width="128" height="53" alt="Safe Software" border="0"></td>
- <td><a href="http://www.safe.com/">Safe Software</a> is the maker of FME, a powerful spatial ETL (Extract,
- Transform and Load) tool that enables true data interoperability. FME manages the translation,
- transformation, integration and web-based distribution of geospatial data in 200 GIS, CAD, raster and
- database formats. Safe Software's FME technology is also embedded in numerous market-leading GIS and
- ETL applications.</td>
- </tr>
- <tr>
- <td><img src="bigtiffpr_images/weogeo.png" width="128" height="37" alt="WeoGeo" border="0"></td>
- <td><a href="http://www.weogeo.com/">WeoGeo</a> is a web-based data management resource for the geospatial
- industry that allows the free market exchange of mapping related imagery products, featuring an innovative
- solution that efficiently manages digital mapping files of any size. With an intuitive user interface
- and the scalable power of Amazon Web Services (AWS), geospatial professionals can view, sort, search,
- and share complex, high volume maps quickly and effectively.</td>
- </tr>
- </tbody>
- </table>
-</body>
-</html>
diff --git a/html/bugs.html b/html/bugs.html
deleted file mode 100644
index a05a4659..00000000
--- a/html/bugs.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Bugs and the TIFF Mailing List</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/cover.jpg" WIDTH=110 HEIGHT=110 ALIGN=left BORDER=1 HSPACE=6 ALT="cover">
-Bugs, Bugzilla, and the TIFF Mailing List
-</H1>
-
-<P>
-This software is free. Please let us know when you find a problem or
-fix a bug.
-
-<P>
-The project is using <a href="https://gitlab.com/libtiff/libtiff/issues">
-GitLab issues</a> since October 2019.
-Previously, the project used MapTools.org
-bugzilla to track bugs: remaining tickets in that bugzilla instance have been
-migrated to GitLab issues. All bugs filed in a older bugzilla at
-bugzilla.remotesensing.org (pre April 2008) have unfortunately been lost.
-<P>
-If you think you've discovered a bug, please first check to see if it is
-already known by looking at the list of already reported bugs. Also verify that
-the problem is still reproducible with the current development software
-from CVS.
-<P>
-If you'd like to enter a new bug, you can do so at
-<A HREF="https://gitlab.com/libtiff/libtiff/issues/new">https://gitlab.com/libtiff/libtiff/issues/new</A>.
-<P>
-If you'd like to inform us about some kind of security issue that should not
-be disclosed for a period of time, then you can contact maintainers directly.
-Send a copies of your report to the following people: Frank Warmerdam
-<a href="mailto:warmerdam@pobox.com">&lt;warmerdam@pobox.com&gt;</a> and
-Bob Friesenhahn
-<a href="mailto:bfriesen@simple.dallas.tx.us">&lt;bfriesen@simple.dallas.tx.us&gt;</a>.
-<P>
-
-Of course, reporting bugs is no substitute for discussion. The
-<a href="mailto:tiff@lists.osgeo.org">tiff@lists.osgeo.org</a> mailing
-list is for users of this software, and discussion TIFF issues in general.
-It is managed with the Mailman software, and the web interface for subscribing
-and managing your access to the list is at:<p>
-
- <a href="http://lists.osgeo.org/mailman/listinfo/tiff">http://lists.osgeo.org/mailman/listinfo/tiff</a><P>
-
-Posts to the list are only accepted from members of the list in order
-to limit the amount of spam propagated.<p>
-
-A <A HREF="http://www.awaresystems.be/imaging/tiff/tml.html">Long Term
-Archive</a> including recent messages, and most messages back to 1993,
-with search capabilities is available, and
-has been prepared and hosted by <a href="http://www.awaresystems.be">AWare
-Systems</a>. <p>
-
-
-<HR>
-
-Last updated: 2019-10-01
-</BODY>
-</HTML>
diff --git a/html/build.html b/html/build.html
deleted file mode 100644
index 72a43f22..00000000
--- a/html/build.html
+++ /dev/null
@@ -1,561 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>Building the TIFF Software Distribution</title>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</head>
-<body>
-<h1><img src="images/cramps.gif" width="159" height="203" align="left" border="1" hspace="6" alt="cramps">
-Building the Software Distribution</h1>
-<ul>
-<li><a href="#CMAKE">Building on all systems with CMake</a>.</li>
-<li><a href="#UNIX">Building on a UNIX system with Autoconf</a>.</li>
-<li><a href="#Other">Building the Software on Other
-Systems.</a></li>
-</ul>
-<br clear="left">
-This chapter contains step-by-step instructions on how to configure
-and build the TIFF software distribution. The software is most
-easily built on a UNIX system, but with a little bit of work it can
-easily be built and used on other non-UNIX platforms.
-<hr>
-<a name="CMake" id="CMAKE"></a>
-<h2>Building on all systems with CMake</h2> CMake may be used to
-generate build files for most common build systems and IDEs, and
-supports all UNIX-like systems as well as Windows. See
-the <a href="http://www.cmake.org/">CMake website</a> for further
-details. To build the software on you need to first run
-<tt>cmake</tt> to configure the build and generate the system-specific
-build files. This reads the top-level <tt>CMakeLists.txt</tt> file,
-which probes the target system for necessary tools and functions,
-checks any options you specified to configure the build, and then
-outputs build files configured for your system. If using <tt>Unix
-Makefiles</tt>, once configuration is done, you simply
-run <tt>make</tt> (or <tt>gmake</tt>) to build the software and
-then <tt>make install</tt> to do the installation. For other build
-systems, you do the equivalent steps with the tool for that system.
-For example, on any UNIX system:
-<div style="margin-left: 2em">
-<pre>
-% <b>cd ./tiff-4.0.5</b>
-% <b>cmake</b>
- <i>...lots of messages...</i>
-% <b>make</b>
- <i>...lots of messages...</i>
-% <b>make test</b>
- <i>...lots of messages...</i>
-# <b>make install</b>
-</pre></div>
-Building is dependent on a <tt>make</tt> utility and a C
-(and optionally a C++ compiler), so you will need these tools.
-<p>In general, the software is designed such that the following
-targets will always be available</p>
-<div style="margin-left: 2em">
-<pre>
-make [all] build stuff
-make test run the test suite
-make install build and install stuff
-make clean remove object files, executables and cruft
-</pre></div>
-<a name="CMakeBuildTrees" id= "CMakeBuildTrees"></a>
-<hr width="65%" align="right">
-<h3>Build Trees</h3>
-There are two schemes for configuring and building the software. If
-you intend to build the software for only one target system, you
-can configure the software so that it is built in the same
-directories as the source code.
-<div style="margin-left: 2em">
-<pre>
-% <b>gzip -dc tiff-4.0.5.tar.gz | tar -xf -</b>
-% <b>cd ./tiff-4.0.5</b>
-% <b>cmake</b>
-% <b>make</b>
-% <b>make test</b>
-% <b>make install</b>
-</pre></div>
-<p>Otherwise, you can configure a build tree that is parallel to
-the source tree hierarchy (or in some completely different place)
-but which contains only configured files and files created during
-the build procedure.</p>
-<div style="margin-left: 2em">
-<pre>
-% <b>gzip -dc tiff-4.0.5.tar.gz | tar -xf -</b>
-% <b>mkdir tiff-4.0.5-build</b>
-% <b>cd ./tiff-4.0.5-build</b>
-% <b>cmake ../tiff-4.0.5</b>
-% <b>make</b>
-% <b>make test</b>
-% <b>make install</b>
-</pre></div>
-This second scheme is useful for:
-<ul>
-<li>building multiple targets from a single source tree</li>
-<li>building from a read-only source tree (e.g. if you receive the
-distribution on CD-ROM)</li>
-<li>sharing the source files via a network, but building on
-multiple systems</li>
-<li>keeping the source tree clean
-(unlike <tt>autoconf</tt>, <tt>cmake</tt> does not provide
-a <tt>distclean</tt> target, so out of source builds are
-recommended)</li>
-</ul>
-<a name="CMakeGenerators" id= "CMakeGenerators"></a>
-<hr width="65%" align="right">
-<h3>Generators</h3> The default generator for UNIX is <tt>Unix
-Makefiles</tt>, and on Windows is <tt>NMake Makefiles</tt> or MSBuild
-depending upon the setup. Run <b>cmake --help</b> to list all the
-generators available for your platform. For example, to use the Ninja
-<a href="https://martine.github.io/ninja/">build system</a> on UNIX or
-Windows:
-<pre>
-<b>cmake -G Ninja</b>
-<b>cmake --build .</b>
-<b>ctest -V</b>
-<b>cmake --build . --target install</b>
-</pre>
-<p>Note that <b>cmake --build .</b> is a build-system-independent way
-of building a target; you can always use the build system directly.</p>
-<p>Alternatively, using the MSBuild system on Windows (64-bit Release
-build with VS2013):
-</p>
-<pre>
-<b>cmake -G "Visual Studio 12 2013 Win64"</b>
-<b>cmake --build . --config Release</b>
-<b>ctest -V -C Release</b>
-<b>cmake --build . --config Release --target install</b>
-</pre>
-With the above configuration, it's also possible to open the generated
-solution file with the Visual Studio IDE as well as building on the
-command-line.
-<a name="CMakeConfigOptions" id="CMakeConfigOptions"></a>
-<hr width="65%" align="right">
-<h3>Configuration Options</h3>
-The configuration process is critical to the proper compilation,
-installation, and operation of the
-software. The <tt>CMakeLists.txt</tt> script runs a series of tests to
-decide whether or not the target system supports required
-functionality and, if it does not, whether it can emulate or
-workaround the missing functions. After running <tt>cmake</tt>, check
-the <tt>CMakeCache.txt</tt> file; this contains all the results of the
-checks performed and the options set by the user. If <tt>cmake</tt>
-failed to run, check <tt>CMakeFiles/CMakeOutput.log</tt>
-and <tt>CMakeFiles/CMakeError.log</tt>; these should record the error
-which caused the failure.
-<p>A second function of the configure script is to set the default
-configuration parameters for the software. Of particular note are the
-directories where the software is to be installed. By default the
-software is installed in the <b>/usr/local</b> hierarchy. To change
-this behaviour the appropriate parameters can be specified on the
-command line. Run <b>cmake --help</b> to get a full list of possible
-options, and <b>cmake -LH</b> to list all the configurable options for
-this software package, or <b>cmake -LAH</b> to show all advanced
-options in addition. Standard installation related options are shown
-below.</p>
-<pre>
-<tt>
-Installation directories:
- CMAKE_INSTALL_PREFIX
-
-Fine tuning of the installation directories:
- CMAKE_INSTALL_BINDIR user executables [PREFIX/bin]
- CMAKE_INSTALL_SBINDIR system admin executables [PREFIX/sbin]
- CMAKE_INSTALL_LIBEXECDIR program executables [PREFIX/libexec]
- CMAKE_INSTALL_SYSCONFDIR read-only single-machine data [PREFIX/etc]
- CMAKE_INSTALL_SHAREDSTATEDIR modifiable architecture-independent data [PREFIX/com]
- CMAKE_INSTALL_LOCALSTATEDIR modifiable single-machine data [PREFIX/var]
- CMAKE_INSTALL_LIBDIR object code libraries [PREFIX/lib]
- CMAKE_INSTALL_INCLUDEDIR C header files [PREFIX/include]
- CMAKE_INSTALL_OLDINCLUDEDIR C header files for non-gcc [/usr/include]
- CMAKE_INSTALL_DATAROOTDIR read-only arch.-independent data root [PREFIX/share]
- CMAKE_INSTALL_DATADIR read-only architecture-independent data [DATAROOTDIR]
- CMAKE_INSTALL_LOCALEDIR locale-dependent data [DATAROOTDIR/locale]
- CMAKE_INSTALL_MANDIR man documentation [DATAROOTDIR/man]
- CMAKE_INSTALL_DOCDIR documentation root [DATAROOTDIR/doc/tiff]
-</tt>
-</pre>
-Also see the
-CMake <a href="http://www.cmake.org/cmake/help/v3.3/">documentation</a>
-for <a href="http://www.cmake.org/cmake/help/v3.3/manual/cmake-variables.7.html"
->additional variables</a> which may be set.
-<a name="CMakePackages" id="CMakePackages"></a>
-<hr width="65%" align="right">
-<h3>Configuring Optional Packages/Support</h3>
-The TIFF software comes with several packages that are installed
-only as needed, or only if specifically configured at the time the
-configure script is run. Packages can be configured via the
-<b>cmake</b> commandline parameters.
-<dl>
-<dt><i>Static/Shared Objects Support</i></dt>
-<dd><tt>BUILD_SHARED_LIBS[=ON|OFF]&nbsp;&nbsp;&nbsp;&nbsp;build shared
-libraries [default=ON]</tt><br>
-<p>This option controls whether or not to configure the software
-to build a shared and static binaries for the TIFF library. Use of
-shared libraries can significantly reduce the disk space needed for
-users of the TIFF software. If shared libraries are not used then
-the code is statically linked into each application that uses it.
-</p>
-<p><tt>ld-version-script[=ON|OFF]&nbsp;&nbsp;Enable linker version
-script (default is ON)</tt></p>
-<p>Add shared library symbol versioning on ELF-based systems (e.g.
-Linux and FreeBSD) which use the GNU linker. This is needed if
-several major versions of libtiff might be loaded at once into the
-same program.</p>
-</dd>
-<dt><i>JPEG Support</i></dt>
-<dd><tt>jpeg[=ON|OFF]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enable IJG JPEG
-library usage (required for JPEG compression, enabled by default)<br>
-JPEG_INCLUDE_DIR=DIR&nbsp;location of IJG
-JPEG library headers<br>
-JPEG_LIBRARY=DIR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location of IJG JPEG
-library binary)</tt></dd>
-<dd>The <tt>JPEG</tt> package enables support for the handling of
-TIFF images with JPEG-encoded data. Support for JPEG-encoded data
-requires the Independent JPEG Group (IJG) <tt>libjpeg</tt>
-distribution; this software is available at <a href=
-"http://www.ijg.org/">http://www.ijg.org/</a>. <b>cmake</b>
-script automatically tries to search for a working IJG JPEG
-installation. If it fails to find library, JPEG support will be
-automatically disabled. If you want specify the exact paths to
-library binary and headers, use above options for that.</dd>
-<dt><i>ZIP Support</i></dt>
-<dd>The <tt>ZIP</tt> support enables support for the handling of TIFF
-images with deflate-encoded data (enabled by default if
-available). Support for deflate-encoded data requires the freely
-available <tt>zlib</tt> distribution written by Jean-loup Gailly and
-Mark Adler; this software is available at <a href=
-"http://www.zlib.org/">http://www.zlib.org/</a>.</dd>
-</dl>
-<hr width="65%" align="right">
-<a name="UNIX" id="UNIX"></a>
-<h2>Building on a UNIX System with Autoconf</h2>
-To build the software on a UNIX system you need to first run the
-configure shell script that is located in the top level of the
-source directory. This script probes the target system for
-necessary tools and functions and constructs a build environment in
-which the software may be compiled. Once configuration is done, you
-simply run <tt>make</tt> (or <tt>gmake</tt>) to build the software
-and then <tt>make install</tt> to do the installation; for example:
-<div style="margin-left: 2em">
-<pre>
-% <b>cd ./tiff-4.0.5</b>
-% <b>./configure</b>
- <i>...lots of messages...</i>
-% <b>make</b>
- <i>...lots of messages...</i>
-% <b>make check</b>
- <i>...lots of messages...</i>
-# <b>make install</b>
-</pre></div>
-Supplied makefiles are dependent on a <tt>make</tt> utility and a C
-(and optionally a C++ compiler), so you will need these tools.
-<p>In general, the software is designed such that the following
-should be ``<i>make-able</i>'' in each directory:</p>
-<div style="margin-left: 2em">
-<pre>
-make [all] build stuff
-make check run the test suite
-make install build and install stuff
-make clean remove object files, executables and cruft
-make distclean remove everything, that can be recreated
-</pre></div>
-Note that after running "<tt>make distclean</tt>" the
-<tt>configure</tt> script must be run again to create the Makefiles
-and other make-related files. <a name="BuildTrees" id=
-"BuildTrees"></a>
-<hr width="65%" align="right">
-<h3>Build Trees</h3>
-There are two schemes for configuring and building the software. If
-you intend to build the software for only one target system, you
-can configure the software so that it is built in the same
-directories as the source code.
-<div style="margin-left: 2em">
-<pre>
-% <b>gzip -dc tiff-4.0.5.tar.gz | tar -xf -</b>
-% <b>cd ./tiff-4.0.5</b>
-% <b>./configure</b>
-% <b>make</b>
-% <b>make check</b>
-% <b>make install</b>
-</pre></div>
-<p>Otherwise, you can configure a build tree that is parallel to
-the source tree hierarchy (or in some completely different place)
-but which contains only configured files and files created during
-the build procedure.</p>
-<div style="margin-left: 2em">
-<pre>
-% <b>gzip -dc tiff-4.0.5.tar.gz | tar -xf -</b>
-% <b>mkdir tiff-4.0.5-build</b>
-% <b>cd ./tiff-4.0.5-build</b>
-% <b>../tiff-4.0.5/configure</b>
-% <b>make</b>
-% <b>make check</b>
-% <b>make install</b>
-</pre></div>
-This second scheme is useful for:
-<ul>
-<li>building multiple targets from a single source tree</li>
-<li>building from a read-only source tree (e.g. if you receive the
-distribution on CD-ROM)</li>
-<li>sharing the source files via a network, but building on
-multiple systems</li>
-</ul>
-<a name="ConfigOptions" id="ConfigOptions"></a>
-<hr width="65%" align="right">
-<h3>Configuration Options</h3>
-The configuration process is critical to the proper compilation,
-installation, and operation of the software. The configure script
-runs a series of tests to decide whether or not the target system
-supports required functionality and, if it does not, whether it can
-emulate or workaround the missing functions. This procedure is
-fairly complicated and, due to the nonstandard nature of most UNIX
-systems, prone to error. The first time that you configure the
-software for use you should check the output from the configure
-script and look for anything that does not make sense for your
-system.
-<p>A second function of the configure script is to set the default
-configuration parameters for the software. Of particular note are
-the directories where the software is to be installed. By default
-the software is installed in the <b>/usr/local</b> hierarchy. To
-change this behaviour the appropriate parameters can be specified
-on the command line to configure. Run <b>./configure --help</b> to
-get a full list of possible options. Standard installation related
-options are shown below.</p>
-<pre>
-<tt>
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [/usr/local]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, `make install' will install all the files in
-`/usr/local/bin', `/usr/local/lib' etc. You can specify
-an installation prefix other than `/usr/local' using `--prefix',
-for instance `--prefix=$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/tiff]
- --htmldir=DIR html documentation [DOCDIR]
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-</tt>
-</pre>
-<a name="Packages" id="Packages"></a>
-<hr width="65%" align="right">
-<h3>Configuring Optional Packages/Support</h3>
-The TIFF software comes with several packages that are installed
-only as needed, or only if specifically configured at the time the
-configure script is run. Packages can be configured via the
-<b>configure</b> script commandline parameters.
-<dl>
-<dt><i>Static/Shared Objects Support</i></dt>
-<dd><tt>--enable-shared[=PKGS]&nbsp;&nbsp;&nbsp;&nbsp;build shared
-libraries [default=yes]<br>
---enable-static[=PKGS]&nbsp;&nbsp;&nbsp;&nbsp;build static
-libraries [default=yes]</tt>
-<p>These options control whether or not to configure the software
-to build a shared and static binaries for the TIFF library. Use of
-shared libraries can significantly reduce the disk space needed for
-users of the TIFF software. If shared libraries are not used then
-the code is statically linked into each application that uses it.
-By default both types of binaries is configured.</p>
-<p>
-<tt>--enable-rpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable
-runtime linker paths (-R libtool option)</tt></p>
-<p>Add library directories (see other options below) to the TIFF
-library run-time linker path.</p>
-<p><tt>--enable-ld-version-script&nbsp;&nbsp;Enable linker version
-script (default is disabled)</tt></p>
-<p>Add shared library symbol versioning on ELF-based systems (e.g.
-Linux and FreeBSD) which use the GNU linker. This is needed if
-several major versions of libtiff might be loaded at once into the
-same program.</p>
-</dd>
-<dt><i>JPEG Support</i></dt>
-<dd><tt>--disable-jpeg&nbsp;&nbsp;&nbsp;&nbsp;disable IJG JPEG
-library usage (required for JPEG compression, enabled by default)
---with-jpeg-include-dir=DIR&nbsp;&nbsp;&nbsp;&nbsp;location of IJG
-JPEG library headers
---with-jpeg-lib-dir=DIR&nbsp;&nbsp;&nbsp;&nbsp;location of IJG JPEG
-library binary)</tt></dd>
-<dd>The <tt>JPEG</tt> package enables support for the handling of
-TIFF images with JPEG-encoded data. Support for JPEG-encoded data
-requires the Independent JPEG Group (IJG) <tt>libjpeg</tt>
-distribution; this software is available at <a href=
-"http://www.ijg.org/">http://www.ijg.org/</a>. <b>configure</b>
-script automatically tries to search for a working IJG JPEG
-installation. If it fails to find library, JPEG support will be
-automatically disabled. If you want specify the exact paths to
-library binary and headers, use above switches for that.</dd>
-<dt><i>ZIP Support</i></dt>
-<dd>The <tt>ZIP</tt> support enables support for the handling of
-TIFF images with deflate-encoded data. Support for deflate-encoded
-data requires the freely available <tt>zlib</tt> distribution
-written by Jean-loup Gailly and Mark Adler; this software is
-available at <a href=
-"http://www.zlib.org/">http://www.zlib.org/</a>. If ZIP support is
-enabled the <tt>DIRS_LIBINC</tt> and <tt>DIR_GZLIB</tt> parameters
-should also be set (see below). By default this package is not
-configured.</dd>
-</dl>
-<hr width="65%" align="right">
-<a name="PC" id="PC"></a>
-<a name="Other" id="Other"></a>
-<h2>Building the Software on Other Systems</h2>
-This section contains information that might be useful if you are
-working on a non-UNIX system that is not directly supported. All
-library-related files described below are located in the
-<b>libtiff</b> directory.
-<p>The library requires two files that are generated
-<i>on-the-fly</i>. The file <b>tif_fax3sm.c</b> has the state
-tables for the Group 3 and Group 4 decoders. This file is generated
-by the <tt>mkg3states</tt> program on a UNIX system; for
-example,</p>
-<div style="margin-left: 2em">
-<pre>
-<tt>
-cd libtiff
-cc -o mkg3states mkg3states.c
-rm -f tif_fax3sm.c
-./mkg3states -c const tif_fax3sm.c
-</tt>
-</pre></div>
-The <tt>-c</tt> option can be used to control whether or not the
-resutling tables are generated with a <tt>const</tt> declaration.
-The <tt>-s</tt> option can be used to specify a C storage class for
-the table declarations. The <tt>-b</tt> option can be used to force
-data values to be explicitly bracketed with ``{}'' (apparently
-needed for some MS-Windows compilers); otherwise the structures are
-emitted in as compact a format as possible. Consult the source code
-for this program if you have questions.
-<p>The second file required to build the library, <b>version.h</b>,
-contains the version information returned by the
-<tt>TIFFGetVersion</tt> routine. This file is built on most systems
-using the <tt>mkversion</tt> program and the contents of the
-<tt>VERSION</tt> and <tt>tiff.alpha</tt> files; for example,</p>
-<div style="margin-left: 2em">
-<pre>
-cd libtiff
-cc -o mkversion mkversion.c
-rm -f version.h
-./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h
-</pre></div>
-<p>Otherwise, when building the library on a non-UNIX system be
-sure to consult the files <b>tiffcomp.h</b> and <b>tiffconf.h</b>.
-The former contains system compatibility definitions while the
-latter is provided so that the software configuration can be
-controlled on systems that do not support the make facility for
-building the software.</p>
-<p>Systems without a 32-bit compiler may not be able to handle some
-of the codecs in the library; especially the Group 3 and 4 decoder.
-If you encounter problems try disabling support for a particular
-codec; consult the <a href=
-"internals.html#Config">documentation</a>.</p>
-<p>Programs in the tools directory are written to assume an ANSI C
-compilation environment. There may be a few POSIX'isms as well. The
-code in the <b>port</b> directory is provided to emulate routines
-that may be missing on some systems. On UNIX systems the
-<tt>configure</tt> script automatically figures out which routines
-are not present on a system and enables the use of the equivalent
-emulation routines from the <b>port</b> directory. It may be
-necessary to manually do this work on a non-UNIX system. <a name=
-"Testing" id="Testing"></a></p>
-<hr>
-<h2>Checking out the Software</h2>
-<p>Assuming you have working versions of <tt>tiffgt</tt> and
-<tt>tiffsv</tt>, you can just use them to view any of the sample
-images available for testing (see the <a href="images.html">section
-on obtaining the test images</a>). Otherwise, you can do a cursory
-check of the library with the <tt>tiffcp</tt> and <tt>tiffcmp</tt>
-programs. For example,</p>
-<div style="margin-left: 2em">
-<pre>
-tiffcp -lzw cramps.tif x.tif
-tiffcmp cramps.tif x.tif
-</pre></div>
-<p>(<tt>tiffcmp</tt> should be silent if the files compare
-correctly). <a name="TOC" id="TOC"></a></p>
-<hr>
-<h2>Table of Contents</h2>
-The following files makup the core library:
-<pre>
-libtiff/tiff.h TIFF spec definitions
-libtiff/tiffcomp.h non-UNIX OS-compatibility definitions
-libtiff/tiffconf.h non-UNIX configuration definitions
-libtiff/tiffio.h public TIFF library definitions
-libtiff/tiffiop.h private TIFF library definitions
-libtiff/t4.h CCITT Group 3/4 code tables+definitions
-libtiff/tif_dir.h private defs for TIFF directory handling
-libtiff/tif_fax3.h CCITT Group 3/4-related definitions
-libtiff/tif_predict.h private defs for Predictor tag support
-libtiff/uvcode.h LogL/LogLuv codec-specific definitions
-libtiff/version.h version string (generated by Makefile)
-libtiff/tif_apple.c Apple-related OS support
-libtiff/tif_atari.c Atari-related OS support
-libtiff/tif_aux.c auxiliary directory-related functions
-libtiff/tif_close.c close an open TIFF file
-libtiff/tif_codec.c configuration table of builtin codecs
-libtiff/tif_compress.c compression scheme support
-libtiff/tif_dir.c directory tag interface code
-libtiff/tif_dirinfo.c directory known tag support code
-libtiff/tif_dirread.c directory reading code
-libtiff/tif_dirwrite.c directory writing code
-libtiff/tif_dumpmode.c "no" compression codec
-libtiff/tif_error.c library error handler
-libtiff/tif_fax3.c CCITT Group 3 and 4 codec
-libtiff/tif_fax3sm.c G3/G4 state tables (generated by mkg3states)
-libtiff/tif_flush.c i/o and directory state flushing
-libtiff/tif_getimage.c TIFFRGBAImage support
-libtiff/tif_jpeg.c JPEG codec (interface to the IJG distribution)
-libtiff/tif_luv.c SGI LogL/LogLuv codec
-libtiff/tif_lzw.c LZW codec
-libtiff/tif_msdos.c MSDOS-related OS support
-libtiff/tif_next.c NeXT 2-bit scheme codec (decoding only)
-libtiff/tif_open.c open and simply query code
-libtiff/tif_packbits.c Packbits codec
-libtiff/tif_pixarlog.c Pixar codec
-libtiff/tif_predict.c Predictor tag support
-libtiff/tif_print.c directory printing support
-libtiff/tif_read.c image data reading support
-libtiff/tif_strip.c some strip-related code
-libtiff/tif_swab.c byte and bit swapping support
-libtiff/tif_thunder.c Thunderscan codec (decoding only)
-libtiff/tif_tile.c some tile-related code
-libtiff/tif_unix.c UNIX-related OS support
-libtiff/tif_version.c library version support
-libtiff/tif_warning.c library warning handler
-libtiff/tif_win3.c Windows-3.1-related OS support
-libtiff/tif_win32.c Win32 (95/98/NT) related OS support
-libtiff/tif_write.c image data writing support
-libtiff/tif_zip.c Deflate codec
-
-libtiff/mkg3states.c program to generate G3/G4 decoder state tables
-libtiff/mkspans.c program to generate black-white span tables
-libtiff/mkversion.c program to generate libtiff/version.h.
-</pre>
-<hr>
-Last updated: $Date: 2015-08-29 15:30:11 $
-</body>
-</html>
diff --git a/html/contrib.html b/html/contrib.html
deleted file mode 100644
index 16d3d744..00000000
--- a/html/contrib.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Contributed TIFF Software
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/smallliz.jpg" WIDTH=144 HEIGHT=108 ALIGN=left BORDER=1 HSPACE=6 ALT="smallliz">
-Contributed TIFF Software
-</H1>
-
-
-<P>
-The <B>contrib</B> directory has contributed software that
-uses the TIFF library or which is associated with the library
-(typically glue and guidance for ports to non-UNIX platforms, or tools that
-aren't directly TIFF related).
-
-<BR CLEAR=left>
-
-<P>
-<TABLE BORDER CELLPADDING=3>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/dbs</B>
-</TD>
-<TD>
-various tools from Dan & Chris Sears, including a simple X-based viewer
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/ras</B>
-</TD>
-<TD>
-two programs by Patrick Naughton for converting
- between Sun rasterfile format and TIFF (these
- require <TT>libpixrect.a</TT>, as opposed to the one in
- tools that doesn't)
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/mac-mpw</B><br>
-<B>contrib/mac-cw</B>
-</TD>
-<TD>
-scripts and files from Niles Ritter for building
-the library and tools under Macintosh/MPW C and
-code warrior.
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/acorn</B>
-</TD>
-<TD>
-scripts and files from Peter Greenham for building
- the library and tools on an Acorn RISC OS system.
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/win32</B>
-</TD>
-<TD>
-scripts and files from Scott Wagner for building
-the library under Windows NT and Windows 95. (The makefile.vc in the
-libtiff/libtiff directory may be sufficient for most users.)
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/win_dib</B>
-</TD>
-<TD>
-two separate implementations of TIFF to DIB code suitable for any Win32
-platform. Contributed by Mark James, and Philippe Tenenhaus.
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/ojpeg</B>
-</TD>
-<TD>
-Patch for IJG JPEG library related to support for some Old JPEG in TIFF files.
-Contributed by Scott Marovich.
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/dosdjgpp</B>
-</TD>
-<TD>
-scripts and files from Alexander Lehmann for building
- the library under MSDOS with the DJGPP v2 compiler.
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/tags</B>
-</TD>
-<TD>
-scripts and files from Niles Ritter for adding private
- tag support at runtime, without changing libtiff.
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/mfs</B>
-</TD>
-<TD>
-code from Mike Johnson to read+write images in memory
-without modifying the library
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/pds</B>
-</TD>
-<TD>
-various routines from Conrad Poelman; a TIFF image iterator and
- code to support ``private sub-directories''
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/iptcutil</B>
-</TD>
-
-<TD>
-
-A utility by <A HREF="mailto:billr@corbis.com">Bill Radcliffe</a> to
-convert an extracted IPTC Newsphoto caption from a binary blob to
-ASCII text, and vice versa. IPTC binary blobs can be extracted from
-images via the <A HREF="http://www.ImageMagick.org/">ImageMagick</a> convert(1)
-utility.
-
-
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/addtiffo</B>
-</TD>
-
-<TD>
-
-A utility (and supporting subroutine) for building
-one or more reduce resolution
-overviews to an existing TIFF file. Supplied by
-<a href="http://pobox.com/~warmerdam">Frank Warmerdam</a>.
-
-</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top>
-<B>contrib/stream</B>
-</TD>
-
-<TD>
-
-A class (TiffStream) for accessing TIFF files through a C++ stream
-interface. Supplied by <a href="mailto:avi@shutterfly.com">Avi Bleiweiss</a>.
-
-</TD>
-</TR>
-
-</TABLE>
-
-<P>
-Questions regarding these packages are usually best directed toward
-their authors.
-
-<P>
-<HR>
-
-Last updated: $Date: 2016-09-25 20:05:44 $
-
-</BODY>
-</HTML>
diff --git a/html/document.html b/html/document.html
deleted file mode 100644
index a9750933..00000000
--- a/html/document.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-TIFF Documentation
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/jim.gif" WIDTH=139 HEIGHT=170 ALIGN=left BORDER=1 HSPACE=6 ALT="jim">
-TIFF Documentation
-</H1>
-
-<P>
-A copy of the 6.0 specification is available from Adobe at
-<A HREF="http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf">http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf</A>, or from the libtiff
-ftp site at <a href="https://download.osgeo.org/libtiff/doc/TIFF6.pdf">
-https://download.osgeo.org/libtiff/doc/TIFF6.pdf</A>.<p>
-
-<P>
-Draft <a href="TIFFTechNote2.html">TIFF Technical Note #2</A> covers problems
-with the TIFF 6.0 design for embedding JPEG-compressed data in TIFF, and
-describes an alternative. <p>
-
-Other Adobe information on TIFF can be retrieved from:
-
-<A HREF="http://partners.adobe.com/public/developer/tiff/index.html">
-http://partners.adobe.com/public/developer/tiff/index.html</A>
-
-<P>
-Joris Van Damme maintains a list of known tags and their descriptions and
-definitions. It is available online at
-<A HREF="http://www.awaresystems.be/imaging/tiff/tifftags.html">
-http://www.awaresystems.be/imaging/tiff/tifftags.html</A>
-
-<P>
-There is a FAQ, related both to TIFF format and libtiff library:
-<A HREF="http://www.awaresystems.be/imaging/tiff/faq.html">
-http://www.awaresystems.be/imaging/tiff/faq.html</A>
-
-<P>
-There is a preliminary <a href="bigtiffdesign.html">BigTIFF Design</a> for
-a TIFF variation supporting files larger than 4GB.
-
-<HR>
-
-<ADDRESS>
- Last updated: $Date: 2016-09-25 20:05:44 $
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/images.html b/html/images.html
deleted file mode 100644
index c93f38bf..00000000
--- a/html/images.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-TIFF Test Images
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/bali.jpg" WIDTH=158 HEIGHT=107 ALIGN=left BORDER=1 HSPACE=6 ALT="bali">
-TIFF Test Images
-</H1>
-
-<P>
-Test images are available for most formats supported by the library.
-Most of the images included in the test kit are also part of this
-documentation (albeit in TIFF rather than GIF or JFIF).
-The images are kept in a separate archive that should be located in
-the same directory as this software.
-
-<BR CLEAR=left>
-
-<P>
-The latest archive of test images is located at
-<A HREF="https://download.osgeo.org/libtiff/pics-3.8.0.tar.gz">
-https://download.osgeo.org/libtiff/pics-3.8.0.tar.gz</A>
-
-<P>
-There are two other good sources for TIFF test images:
-the contributed software <B>contrib/dbs</B> includes several
-programs that generate test images suitable for debugging, and
-the <TT>tiffcp</TT> program can be used to generate a variety
-of images with different storage characteristics.
-
-<P>
-<HR>
-
-Last updated: $Date: 2016-09-25 20:05:44 $
-
-</BODY>
-</HTML>
diff --git a/html/images/CMakeLists.txt b/html/images/CMakeLists.txt
deleted file mode 100644
index 8c810575..00000000
--- a/html/images/CMakeLists.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-# CMake build for libtiff
-#
-# Copyright © 2015 Open Microscopy Environment / University of Dundee
-# Written by Roger Leigh <rleigh@codelibre.net>
-#
-# Permission to use, copy, modify, distribute, and sell this software and
-# its documentation for any purpose is hereby granted without fee, provided
-# that (i) the above copyright notices and this permission notice appear in
-# all copies of the software and related documentation, and (ii) the names of
-# Sam Leffler and Silicon Graphics may not be used in any advertising or
-# publicity relating to the software without the specific, prior written
-# permission of Sam Leffler and Silicon Graphics.
-#
-# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-
-set(docfiles
- back.gif
- bali.jpg
- cat.gif
- cover.jpg
- cramps.gif
- dave.gif
- info.gif
- jello.jpg
- jim.gif
- note.gif
- oxford.gif
- quad.jpg
- ring.gif
- smallliz.jpg
- strike.gif
- warning.gif)
-
-install(FILES ${docfiles}
- DESTINATION "${LIBTIFF_DOCDIR}/html/images")
diff --git a/html/images/Makefile.am b/html/images/Makefile.am
deleted file mode 100644
index 979c8582..00000000
--- a/html/images/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# Permission to use, copy, modify, distribute, and sell this software and
-# its documentation for any purpose is hereby granted without fee, provided
-# that (i) the above copyright notices and this permission notice appear in
-# all copies of the software and related documentation, and (ii) the names of
-# Sam Leffler and Silicon Graphics may not be used in any advertising or
-# publicity relating to the software without the specific, prior written
-# permission of Sam Leffler and Silicon Graphics.
-#
-# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-
-# Process this file with automake to produce Makefile.in.
-
-docdir = $(LIBTIFF_DOCDIR)/html/images
-
-docfiles = \
- back.gif \
- bali.jpg \
- cat.gif \
- cover.jpg \
- cramps.gif \
- dave.gif \
- info.gif \
- jello.jpg \
- jim.gif \
- note.gif \
- oxford.gif \
- quad.jpg \
- ring.gif \
- smallliz.jpg \
- strike.gif \
- warning.gif
-
-dist_doc_DATA = $(docfiles)
-
-EXTRA_DIST = \
- CMakeLists.txt
diff --git a/html/index.html b/html/index.html
deleted file mode 100644
index 62b1312c..00000000
--- a/html/index.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en">
-<head>
- <title>LibTIFF - TIFF Library and Utilities</title>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="content-language" content="en">
- <style type="text/css">
- <!--
- th {text-align: left; vertical-align: top; padding-right: 1em; white-space: nowrap}
- -->
- </style>
-</head>
-<body lang="en">
- <h1>LibTIFF - TIFF Library and Utilities</h1>
- <hr>
- <table cellspacing="0" cellpadding="0" border="0">
- <tr>
- <th>Home Page #1</th>
- <td><a href="http://www.simplesystems.org/libtiff/" title="Home of the LibTIFF software">http://www.simplesystems.org/libtiff/</a></td>
- </tr>
- <tr>
- <th>Home Page #2</th>
- <td><a href="https://libtiff.gitlab.io/libtiff/" title="Mirror of the LibTIFF software">https://libtiff.gitlab.io/libtiff/</a></td>
- </tr>
- <tr>
- <th>Home Page #3</th>
- <td><a href="http://libtiff.maptools.org/" title="Mirror of the LibTIFF software">http://libtiff.maptools.org/</a></td>
- </tr>
- <tr>
- <th>Latest Stable Release</th>
- <td><a href="v4.4.0.html">v4.4.0</a></td>
- </tr>
- <tr>
- <th>Master Download Site</th>
- <td><a href="https://download.osgeo.org/libtiff/">download.osgeo.org</a>, directory libtiff</td>
- </tr>
- <tr>
- <th>Mailing List</th>
- <td><a href="mailto:tiff@lists.osgeo.org">tiff@lists.osgeo.org</a>,
- <a href="http://lists.osgeo.org/mailman/listinfo/tiff/">Subscription</a>,
- <a href="http://www.awaresystems.be/imaging/tiff/tml.html">Archive</a>.
- Please, read the <a href="http://www.awaresystems.be/imaging/tiff/faq.html">TIFF FAQ</a>
- before asking questions.</td>
- </tr>
- <tr>
- <th>git repository</th>
- <td><tt><a href="https://gitlab.com/libtiff/libtiff">https://gitlab.com/libtiff/libtiff</a></tt></td>
- </tr>
- </table>
- <hr>
- <p>
- This software provides support for the <i>Tag Image File Format</i> (TIFF),
- a widely used format for storing image data. The latest version of
- the TIFF specification is <a href="document.html">available on-line</a>
- in several different formats.
- </p>
- <p>
- Included in this software distribution is a library, libtiff, for
- reading and writing TIFF, a small collection of tools for doing
- simple manipulations of TIFF images, and documentation on the
- library and tools. Libtiff is a portable software, it was built
- and tested on various systems: UNIX flavors (Linux, BSD, Solaris,
- MacOS X), Windows, and OpenVMS. It should be possible to port
- libtiff and additional tools on other OSes.
- </p>
- <p>
- The library, along with associated tool programs, should handle most of
- your needs for reading and writing TIFF images on 32- and 64-bit
- machines.
- </p>
- <p>
- The software was originally authored and maintained by Sam Leffler
- but has been maintained by a cast of others since 1999.
- </p>
- <p>
- Questions should be sent to the TIFF mailing list:
- <a href="mailto:tiff@lists.osgeo.org">tiff@lists.osgeo.org</a>, with
- a subscription interface at
- <a href="http://lists.osgeo.org/mailman/listinfo/tiff">http://lists.osgeo.org/mailman/listinfo/tiff</a>.
- </p>
- <p>
- The persons currently actively maintaining and releasing libtiff
- are Even Rouault
- and <a href="mailto:bfriesen@GraphicsMagick.org">Bob Friesenhahn</a>.
- Note from Even Rouault: do not email me personally, especially when asking
- "when is the next release ?", unless you are willing to
- pay a LOT of money for my services, and I may even not be interested.
- </p>
- <p>Significant maintainers in the past (since the 3.5.1 release) are
- <a href="http://pobox.com/~warmerdam">Frank Warmerdam</a>,
- <a href="mailto:dron@ak4719.spb.edu">Andrey Kiselev</a>,
- Joris Van Damme, and Lee Howard.
- </p>
- <p>
- The following sections are included in this documentation:
- </p>
- <ul>
- <li><a href="support.html">TIFF 6.0 specification coverage</a></li>
- <li><a href="libtiff.html">Using the TIFF Library</a></li>
- <li><a href="internals.html">Modifying the TIFF Library</a>
- and <a href="addingtags.html">Adding New Tags</a></li>
- <li><a href="tools.html">TIFF tools overview</a></li>
- <li><a href="contrib.html">Contributed software</a></li>
- <li><a href="document.html">TIFF documentation</a></li>
- <li><a href="build.html">Building the software distribution</a></li>
- <li><a href="bugs.html">Bugs, GitLab issues, and the TIFF mailing list</a></li>
- <li><a href="images.html">Test images</a></li>
- <li><a href="misc.html">Acknowledgements and copyright issues</a></li>
- <li><a href="man/index.html">Man Pages</a></li>
- </ul>
- <p>
- <b>BigTIFF News</b>
- </p>
- <ul>
- <li><a href="BigTIFFProposal.html">BigTIFF project proposal</a> (work is completed!)</li>
- <li><a href="bigtiffpr.html">Press release: Currently extending LibTiff</a> (work is completed!)</li>
- </ul>
- <hr>
- <p>
- Last updated 2021-04-16
- </p>
-</body>
-</html>
diff --git a/html/internals.html b/html/internals.html
deleted file mode 100644
index da2998ae..00000000
--- a/html/internals.html
+++ /dev/null
@@ -1,572 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Modifying The TIFF Library
-</TITLE>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</HEAD>
-<BODY>
-<H1>
-<IMG SRC="images/dave.gif" WIDTH=107 HEIGHT=148 BORDER=2 ALIGN=left HSPACE=6 ALT="dave">
-Modifying The TIFF Library
-</H1>
-
-
-<P>
-This chapter provides information about the internal structure of
-the library, how to control the configuration when building it, and
-how to add new support to the library.
-The following sections are found in this chapter:
-
-<UL>
-<LI><A HREF="#Config">Library Configuration</A>
-<LI><A HREF="#Portability">General Portability Comments</A>
-<LI><A HREF="#Types">Types and Portability</A>
-<LI><A HREF="addingtags.html">Adding New Tags</A>
-<LI><A HREF="#AddingCODECS">Adding New Builtin Codecs</A>
-<LI><A HREF="addingtags.html#AddingCODECTags">Adding New Codec-private Tags</A>
-<LI><A HREF="#Other">Other Comments</A>
-</UL>
-
-
-<HR WIDTH="65%" ALIGN=right>
-<H3 id="Config">Library Configuration</H3>
-<P>
-Information on compiling the library is given
-<A HREF=build.html>elsewhere in this documentation</A>.
-This section describes the low-level mechanisms used to control
-the optional parts of the library that are configured at build
-time. Control is based on
-a collection of C defines that are specified either on the compiler
-command line or in a configuration file such as <TT>port.h</TT>
-(as generated by the <TT>configure</TT> script for UNIX systems)
-or <B>tiffconf.h</B>.
-
-<P>
-Configuration defines are split into three areas:
-<UL>
-<LI>those that control which compression schemes are
- configured as part of the builtin codecs,
-<LI>those that control support for groups of tags that
- are considered optional, and
-<LI>those that control operating system or machine-specific support.
-</UL>
-
-<P>
-If the define <TT>COMPRESSION_SUPPORT</TT> is <STRONG>not defined</STRONG>
-then a default set of compression schemes is automatically
-configured:
-<UL>
-<LI>CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, and 32771),
-<LI>the Macintosh PackBits algorithm (compression 32773),
-<LI>a 4-bit run-length encoding scheme from ThunderScan (compression 32809),
-<LI>a 2-bit encoding scheme used by NeXT (compression 32766), and
-<LI>two experimental schemes intended for images with high dynamic range
-(compression 34676 and 34677).
-</UL>
-
-<P>
-
-To override the default compression behaviour define
-<TT>COMPRESSION_SUPPORT</TT> and then one or more additional defines
-to enable configuration of the appropriate codecs (see the table
-below); e.g.
-
-<PRE style="margin-left: 3em;">
-#define COMPRESSION_SUPPORT
-#define CCITT_SUPPORT
-#define PACKBITS_SUPPORT
-</PRE>
-
-Several other compression schemes are configured separately from
-the default set because they depend on ancillary software
-packages that are not distributed with <TT>libtiff</TT>.
-
-<P>
-Support for JPEG compression is controlled by <TT>JPEG_SUPPORT</TT>.
-The JPEG codec that comes with <TT>libtiff</TT> is designed for
-use with release 5 or later of the Independent JPEG Group's freely
-available software distribution.
-This software can be retrieved from the directory
-<A HREF="ftp://ftp.uu.net/graphics/jpeg">ftp.uu.net:/graphics/jpeg/</A>.
-
-
-<P>
-<IMG SRC="images/info.gif" ALT="NOTE: " ALIGN=left HSPACE=8>
-<EM>Enabling JPEG support automatically enables support for
-the TIFF 6.0 colorimetry and YCbCr-related tags.</EM>
-
-<P>
-Experimental support for the deflate algorithm is controlled by
-<TT>DEFLATE_SUPPORT</TT>.
-The deflate codec that comes with <TT>libtiff</TT> is designed
-for use with version 0.99 or later of the freely available
-<TT>libz</TT> library written by Jean-loup Gailly and Mark Adler.
-The data format used by this library is described
-in the files
-<A HREF="ftp://ftp.uu.net/pub/archiving/zip/doc/zlib-3.1.doc">zlib-3.1.doc</A>,
-and
-<A HREF="ftp://ftp.uu.net/pub/archiving/zip/doc/deflate-1.1.doc">deflate-1.1.doc</A>,
-available in the directory
-<A HREF="ftp://ftp.uu.net/pub/archiving/zip/doc">ftp.uu.net:/pub/archiving/zip/doc</A>.
-The library can be retried from the directory
-<A HREF="ftp://ftp.uu.net/pub/archiving/zip/zlib/">ftp.uu.net:/pub/archiving/zip/zlib/</A>
-(or try <A HREF="ftp://quest.jpl.nasa.gov/beta/zlib/">quest.jpl.nasa.gov:/beta/zlib/</A>).
-
-<P>
-<IMG SRC="images/warning.gif" ALT="NOTE: " ALIGN=left HSPACE=8 VSPACE=6>
-<EM>The deflate algorithm is experimental. Do not expect
-to exchange files using this compression scheme;
-it is included only because the similar, and more common,
-LZW algorithm is claimed to be governed by licensing restrictions.</EM>
-
-
-<P>
-By default <B>tiffconf.h</B> defines
-<TT>COLORIMETRY_SUPPORT</TT>,
-<TT>YCBCR_SUPPORT</TT>,
-and
-<TT>CMYK_SUPPORT</TT>.
-
-<P>
-<TABLE BORDER CELLPADDING=3>
-
-<TR><TH ALIGN=left>Define</TH><TH ALIGN=left>Description</TH></TR>
-
-<TR>
-<TD VALIGN=top><TT>CCITT_SUPPORT</TT></TD>
-<TD>CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4,
- and 32771)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>PACKBITS_SUPPORT</TT></TD>
-<TD>Macintosh PackBits algorithm (compression 32773)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>LZW_SUPPORT</TT></TD>
-<TD>Lempel-Ziv & Welch (LZW) algorithm (compression 5)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>THUNDER_SUPPORT</TT></TD>
-<TD>4-bit
-run-length encoding scheme from ThunderScan (compression 32809)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>NEXT_SUPPORT</TT></TD>
-<TD>2-bit encoding scheme used by NeXT (compression 32766)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>OJPEG_SUPPORT</TT></TD>
-<TD>obsolete JPEG scheme defined in the 6.0 spec (compression 6)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>JPEG_SUPPORT</TT></TD>
-<TD>current JPEG scheme defined in TTN2 (compression 7)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>ZIP_SUPPORT</TT></TD>
-<TD>experimental Deflate scheme (compression 32946)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>PIXARLOG_SUPPORT</TT></TD>
-<TD>Pixar's compression scheme for high-resolution color images (compression 32909)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>SGILOG_SUPPORT</TT></TD>
-<TD>SGI's compression scheme for high-resolution color images (compression 34676 and 34677)</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>COLORIMETRY_SUPPORT</TT></TD>
-<TD>support for the TIFF 6.0 colorimetry tags</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>YCBCR_SUPPORT</TT></TD>
-<TD>support for the TIFF 6.0 YCbCr-related tags</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>CMYK_SUPPORT</TT></TD>
-<TD>support for the TIFF 6.0 CMYK-related tags</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>ICC_SUPPORT</TT></TD>
-<TD>support for the ICC Profile tag; see
-<I>The ICC Profile Format Specification</I>,
-Annex B.3 "Embedding ICC Profiles in TIFF Files";
-available at
-<A HREF="http://www.color.org">http://www.color.org</A>
-</TD>
-</TR>
-
-</TABLE>
-
-<HR WIDTH="65%" ALIGN=right>
-<H3 id="Portability">General Portability Comments</H3>
-<P>
-This software is developed on Silicon Graphics UNIX
-systems (big-endian, MIPS CPU, 32-bit ints,
-IEEE floating point).
-The <TT>configure</TT> shell script generates the appropriate
-include files and make files for UNIX systems.
-Makefiles exist for non-UNIX platforms that the
-code runs on -- this work has mostly been done by other people.
-
-<P>
-In general, the code is guaranteed to work only on SGI machines.
-In practice it is highly portable to any 32-bit or 64-bit system and much
-work has been done to insure portability to 16-bit systems.
-If you encounter portability problems please return fixes so
-that future distributions can be improved.
-
-<P>
-The software is written to assume an ANSI C compilation environment.
-If your compiler does not support ANSI function prototypes, <TT>const</TT>,
-and <TT>&lt;stdarg.h&gt;</TT> then you will have to make modifications to the
-software. In the past I have tried to support compilers without <TT>const</TT>
-and systems without <TT>&lt;stdarg.h&gt;</TT>, but I am
-<EM>no longer interested in these
-antiquated environments</EM>. With the general availability of
-the freely available GCC compiler, I
-see no reason to incorporate modifications to the software for these
-purposes.
-
-<P>
-An effort has been made to isolate as many of the
-operating system-dependencies
-as possible in two files: <B>tiffcomp.h</B> and
-<B>libtiff/tif_&lt;os&gt;.c</B>. The latter file contains
-operating system-specific routines to do I/O and I/O-related operations.
-The UNIX (<B>tif_unix.c</B>) code has had the most use.
-
-<P>
-Native CPU byte order is determined on the fly by
-the library and does not need to be specified.
-The <TT>HOST_FILLORDER</TT> and <TT>HOST_BIGENDIAN</TT>
-definitions are not currently used, but may be employed by
-codecs for optimization purposes.
-
-<P>
-The following defines control general portability:
-
-<P>
-<TABLE BORDER CELLPADDING=3 WIDTH="100%">
-
-<TR>
-<TD VALIGN=top><TT>BSDTYPES</TT></TD>
-<TD>Define this if your system does NOT define the
- usual BSD typedefs: <TT>u_char</TT>,
- <TT>u_short</TT>, <TT>u_int</TT>, <TT>u_long</TT>.</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>HAVE_IEEEFP</TT></TD>
-<TD>Define this as 0 or 1 according to the floating point
- format supported by the machine. If your machine does
- not support IEEE floating point then you will need to
- add support to tif_machdep.c to convert between the
- native format and IEEE format.</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>HAVE_MMAP</TT></TD>
-<TD>Define this if there is <I>mmap-style</I> support for
-mapping files into memory (used only to read data).</TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>HOST_FILLORDER</TT></TD>
-<TD>Define the native CPU bit order: one of <TT>FILLORDER_MSB2LSB</TT>
- or <TT>FILLORDER_LSB2MSB</TT></TD>
-</TR>
-
-<TR>
-<TD VALIGN=top><TT>HOST_BIGENDIAN</TT></TD>
-<TD>Define the native CPU byte order: 1 if big-endian (Motorola)
- or 0 if little-endian (Intel); this may be used
- in codecs to optimize code</TD>
-</TR>
-</TABLE>
-
-<P>
-On UNIX systems <TT>HAVE_MMAP</TT> is defined through the running of
-the <TT>configure</TT> script; otherwise support for memory-mapped
-files is disabled.
-Note that <B>tiffcomp.h</B> defines <TT>HAVE_IEEEFP</TT> to be
-1 (<TT>BSDTYPES</TT> is not defined).
-
-
-<HR WIDTH="65%" ALIGN=right>
-<H3 id="Types">Types and Portability</H3>
-<P>
-The software makes extensive use of C typedefs to promote portability.
-Two sets of typedefs are used, one for communication with clients
-of the library and one for internal data structures and parsing of the
-TIFF format. There are interactions between these two to be careful
-of, but for the most part you should be able to deal with portability
-purely by fiddling with the following machine-dependent typedefs:
-
-
-<P>
-<TABLE BORDER CELLPADDING=3 WIDTH="100%">
-
-<TR>
-<TD>uint8_t</TD>
-<TD>8-bit unsigned integer</TD>
-<TD>tiff.h</TD>
-</TR>
-
-<TR>
-<TD>int8_t</TD>
-<TD>8-bit signed integer</TD>
-<TD>tiff.h</TD>
-</TR>
-
-<TR>
-<TD>uint16_t</TD>
-<TD>16-bit unsigned integer</TD>
-<TD>tiff.h</TD>
-</TR>
-
-<TR>
-<TD>int16_t</TD>
-<TD>16-bit signed integer</TD>
-<TD>tiff.h</TD>
-</TR>
-
-<TR>
-<TD>uint32_t</TD>
-<TD>32-bit unsigned integer</TD>
-<TD>tiff.h</TD>
-</TR>
-
-<TR>
-<TD>int32_t</TD>
-<TD>32-bit signed integer</TD>
-<TD>tiff.h</TD>
-</TR>
-
-<TR>
-<TD>dblparam_t</TD>
-<TD>promoted type for floats</TD>
-<TD>tiffcomp.h</TD>
-</TR>
-
-</TABLE>
-
-<P>
-(to clarify <TT>dblparam_t</TT>, it is the type that float parameters are
-promoted to when passed by value in a function call.)
-
-<P>
-The following typedefs are used throughout the library and interfaces
-to refer to certain objects whose size is dependent on the TIFF image
-structure:
-
-
-<P>
-<TABLE BORDER CELLPADDING=3 WIDTH="100%">
-
-<TR>
-<TD WIDTH="25%">typedef unsigned int ttag_t;</TD> <TD>directory tag</TD>
-</TR>
-
-<TR>
-<TD>typedef uint16_t tdir_t;</TD> <TD>directory index</TD>
-</TR>
-
-<TR>
-<TD>typedef uint16_t tsample_t;</TD> <TD>sample number</TD>
-</TR>
-
-<TR>
-<TD>typedef uint32_t tstrip_t;</TD> <TD>strip number</TD>
-</TR>
-
-<TR>
-<TD>typedef uint32_t ttile_t;</TD> <TD>tile number</TD>
-</TR>
-
-<TR>
-<TD>typedef int32_t tsize_t;</TD> <TD>i/o size in bytes</TD>
-</TR>
-
-<TR>
-<TD>typedef void* tdata_t;</TD> <TD>image data ref</TD>
-</TR>
-
-<TR>
-<TD>typedef void* thandle_t;</TD> <TD>client data handle</TD>
-</TR>
-
-<TR>
-<TD>typedef int32_t toff_t;</TD> <TD>file offset (should be off_t)</TD>
-</TR>
-
-<TR>
-<TD>typedef unsigned char* tidata_t;</TD> <TD>internal image data</TD>
-</TR>
-
-</TABLE>
-
-<P>
-Note that <TT>tstrip_t</TT>, <TT>ttile_t</TT>, and <TT>tsize_t</TT>
-are constrained to be
-no more than 32-bit quantities by 32-bit fields they are stored
-in in the TIFF image. Likewise <TT>tsample_t</TT> is limited by the 16-bit
-field used to store the <TT>SamplesPerPixel</TT> tag. <TT>tdir_t</TT>
-constrains
-the maximum number of IFDs that may appear in an image and may
-be an arbitrary size (without penalty). <TT>ttag_t</TT> must be either
-<TT>int</TT>, <TT>unsigned int</TT>, pointer, or <TT>double</TT>
-because the library uses a varargs
-interface and ANSI C restricts the type of the parameter before an
-ellipsis to be a promoted type. <TT>toff_t</TT> is defined as
-<TT>int32_t</TT> because
-TIFF file offsets are (unsigned) 32-bit quantities. A signed
-value is used because some interfaces return -1 on error (sigh).
-Finally, note that <TT>tidata_t</TT> is used internally to the library to
-manipulate internal data. User-specified data references are
-passed as opaque handles and only cast at the lowest layers where
-their type is presumed.
-
-
-<HR WIDTH="65%" ALIGN=right>
-<H3>General Comments</H3>
-<P>
-The library is designed to hide as much of the details of TIFF from
-applications as
-possible. In particular, TIFF directories are read in their entirety
-into an internal format. Only the tags known by the library are
-available to a user and certain tag data may be maintained that a user
-does not care about (e.g. transfer function tables).
-
-<HR WIDTH="65%" ALIGN=right>
-<H3 id="AddingCODECS">Adding New Builtin Codecs</H3>
-<P>
-
-To add builtin support for a new compression algorithm, you can either
-use the "tag-extension" trick to override the handling of the
-TIFF Compression tag (see <A HREF=addingtags.html>Adding New Tags</A>),
-or do the following to add support directly to the core library:
-
-<OL>
-<LI>Define the tag value in <B>tiff.h</B>.
-<LI>Edit the file <B>tif_codec.c</B> to add an entry to the
- _TIFFBuiltinCODECS array (see how other algorithms are handled).
-<LI>Add the appropriate function prototype declaration to
- <B>tiffiop.h</B> (close to the bottom).
-<LI>Create a file with the compression scheme code, by convention files
- are named <B>tif_*.c</B> (except perhaps on some systems where the
- tif_ prefix pushes some filenames over 14 chars.
-<LI>Edit <B>Makefile.in</B> (and any other Makefiles)
- to include the new source file.
-</OL>
-
-<P>
-A codec, say <TT>foo</TT>, can have many different entry points:
-
-<PRE>
-TIFFInitfoo(tif, scheme)/* initialize scheme and setup entry points in tif */
-fooSetupDecode(tif) /* called once per IFD after tags has been frozen */
-fooPreDecode(tif, sample)/* called once per strip/tile, after data is read,
- but before the first row is decoded */
-fooDecode*(tif, bp, cc, sample)/* decode cc bytes of data into the buffer */
- fooDecodeRow(...) /* called to decode a single scanline */
- fooDecodeStrip(...) /* called to decode an entire strip */
- fooDecodeTile(...) /* called to decode an entire tile */
-fooSetupEncode(tif) /* called once per IFD after tags has been frozen */
-fooPreEncode(tif, sample)/* called once per strip/tile, before the first row in
- a strip/tile is encoded */
-fooEncode*(tif, bp, cc, sample)/* encode cc bytes of user data (bp) */
- fooEncodeRow(...) /* called to decode a single scanline */
- fooEncodeStrip(...) /* called to decode an entire strip */
- fooEncodeTile(...) /* called to decode an entire tile */
-fooPostEncode(tif) /* called once per strip/tile, just before data is written */
-fooSeek(tif, row) /* seek forwards row scanlines from the beginning
- of a strip (row will always be &gt;0 and &lt;rows/strip */
-fooCleanup(tif) /* called when compression scheme is replaced by user */
-</PRE>
-
-<P>
-Note that the encoding and decoding variants are only needed when
-a compression algorithm is dependent on the structure of the data.
-For example, Group 3 2D encoding and decoding maintains a reference
-scanline. The sample parameter identifies which sample is to be
-encoded or decoded if the image is organized with <TT>PlanarConfig</TT>=2
-(separate planes). This is important for algorithms such as JPEG.
-If <TT>PlanarConfig</TT>=1 (interleaved), then sample will always be 0.
-
-<HR WIDTH="65%" ALIGN=right>
-<H3 id="Other">Other Comments</H3>
-<P>
-The library handles most I/O buffering. There are two data buffers
-when decoding data: a raw data buffer that holds all the data in a
-strip, and a user-supplied scanline buffer that compression schemes
-place decoded data into. When encoding data the data in the
-user-supplied scanline buffer is encoded into the raw data buffer (from
-where it is written). Decoding routines should never have to explicitly
-read data -- a full strip/tile's worth of raw data is read and scanlines
-never cross strip boundaries. Encoding routines must be cognizant of
-the raw data buffer size and call <TT>TIFFFlushData1()</TT> when necessary.
-Note that any pending data is automatically flushed when a new strip/tile is
-started, so there's no need do that in the tif_postencode routine (if
-one exists). Bit order is automatically handled by the library when
-a raw strip or tile is filled. If the decoded samples are interpreted
-by the decoding routine before they are passed back to the user, then
-the decoding logic must handle byte-swapping by overriding the
-<TT>tif_postdecode</TT>
-routine (set it to <TT>TIFFNoPostDecode</TT>) and doing the required work
-internally. For an example of doing this look at the horizontal
-differencing code in the routines in <B>tif_predict.c</B>.
-
-<P>
-The variables <TT>tif_rawcc</TT>, <TT>tif_rawdata</TT>, and
-<TT>tif_rawcp</TT> in a <TT>TIFF</TT> structure
-are associated with the raw data buffer. <TT>tif_rawcc</TT> must be non-zero
-for the library to automatically flush data. The variable
-<TT>tif_scanlinesize</TT> is the size a user's scanline buffer should be. The
-variable <TT>tif_tilesize</TT> is the size of a tile for tiled images. This
-should not normally be used by compression routines, except where it
-relates to the compression algorithm. That is, the <TT>cc</TT> parameter to the
-<TT>tif_decode*</TT> and <TT>tif_encode*</TT>
-routines should be used in terminating
-decompression/compression. This ensures these routines can be used,
-for example, to decode/encode entire strips of data.
-
-<P>
-In general, if you have a new compression algorithm to add, work from
-the code for an existing routine. In particular,
-<B>tif_dumpmode.c</B>
-has the trivial code for the "nil" compression scheme,
-<B>tif_packbits.c</B> is a
-simple byte-oriented scheme that has to watch out for buffer
-boundaries, and <B>tif_lzw.c</B> has the LZW scheme that has the most
-complexity -- it tracks the buffer boundary at a bit level.
-Of course, using a private compression scheme (or private tags) limits
-the portability of your TIFF files.
-
-<P>
-<HR>
-
-Last updated: $Date: 2016-09-25 20:05:44 $
-
-</BODY>
-
-</HTML>
diff --git a/html/libtiff.html b/html/libtiff.html
deleted file mode 100644
index 7698ef54..00000000
--- a/html/libtiff.html
+++ /dev/null
@@ -1,747 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en">
-<head>
- <title>Using The TIFF Library</title>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="content-language" content="en">
- <style type="text/css">
- <!--
- th {text-align: left; vertical-align: top; font-style: italic; font-weight: normal}
- -->
- </style>
-</head>
-<body lang="en">
- <table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td style="padding-left: 1em; padding-right: 1em"><img src="images/cat.gif" width="113" height="146" alt=""></td>
- <td>
- <h1>Using The TIFF Library</h1>
- <p>
- <tt>libtiff</tt> is a set of C functions (a library) that support
- the manipulation of TIFF image files.
- The library requires an ANSI C compilation environment for building
- and presumes an ANSI C environment for use.
- </p>
- </td>
- </tr>
- </table>
- <br>
- <p>
- <tt>libtiff</tt>
- provides interfaces to image data at several layers of abstraction (and cost).
- At the highest level image data can be read into an 8-bit/sample,
- ABGR pixel raster format without regard for the underlying data organization,
- colorspace, or compression scheme. Below this high-level interface
- the library provides scanline-, strip-, and tile-oriented interfaces that
- return data decompressed but otherwise untransformed. These interfaces
- require that the application first identify the organization of stored
- data and select either a strip-based or tile-based API for manipulating
- data. At the lowest level the library
- provides access to the raw uncompressed strips or tiles,
- returning the data exactly as it appears in the file.
- </p>
- <p>
- The material presented in this chapter is a basic introduction
- to the capabilities of the library; it is not an attempt to describe
- everything a developer needs to know about the library or about TIFF.
- Detailed information on the interfaces to the library are given in
- the <a href="man/index.html">UNIX manual pages</a> that accompany
- this software.
- </p>
- <p>
- Michael Still has also written a useful introduction to libtiff for the
- IBM DeveloperWorks site available at
- <a href="http://www.ibm.com/developerworks/linux/library/l-libtiff">http://www.ibm.com/developerworks/linux/library/l-libtiff</a>.
- </p>
- <p>
- The following sections are found in this chapter:
- </p>
- <ul>
- <li><a href="#version">How to tell which version you have</a></li>
- <li><a href="#typedefs">Library Datatypes</a></li>
- <li><a href="#mman">Memory Management</a></li>
- <li><a href="#errors">Error Handling</a></li>
- <li><a href="#fio">Basic File Handling</a></li>
- <li><a href="#dirs">TIFF Directories</a></li>
- <li><a href="#tags">TIFF Tags</a></li>
- <li><a href="#compression">TIFF Compression Schemes</a></li>
- <li><a href="#byteorder">Byte Order</a></li>
- <li><a href="#dataplacement">Data Placement</a></li>
- <li><a href="#tiffrgbaimage">TIFFRGBAImage Support</a></li>
- <li><a href="#scanlines">Scanline-based Image I/O</a></li>
- <li><a href="#strips">Strip-oriented Image I/O</a></li>
- <li><a href="#tiles">Tile-oriented Image I/O</a></li>
- <li><a href="#other">Other Stuff</a></li>
- </ul>
- <hr>
- <h2 id="version">How to tell which version you have</h2>
- <p>
- The software version can be found by looking at the file named
- <tt>VERSION</tt>
- that is located at the top of the source tree; the precise alpha number
- is given in the file <tt>dist/tiff.alpha</tt>.
- If you have need to refer to this
- specific software, you should identify it as:
- </p>
- <p style="margin-left: 40px">
- <tt>TIFF &lt;<i>version</i>&gt; &lt;<i>alpha</i>&gt;</tt>
- </p>
- <p>
- where <tt>&lt;<i>version</i>&gt;</tt> is whatever you get from
- <tt>"cat VERSION"</tt> and <tt>&lt;<i>alpha</i>&gt;</tt> is
- what you get from <tt>"cat dist/tiff.alpha"</tt>.
- </p>
- <p>
- Within an application that uses <tt>libtiff</tt> the <tt>TIFFGetVersion</tt>
- routine will return a pointer to a string that contains software version
- information.
- The library include file <tt>&lt;tiffio.h&gt;</tt> contains a C pre-processor
- define <tt>TIFFLIB_VERSION</tt> that can be used to check library
- version compatibility at compile time.
- </p>
- <hr>
- <h2 id="typedefs">Library Datatypes</h2>
- <p>
- <tt>libtiff</tt> defines a portable programming interface through the
- use of a set of C type definitions.
- These definitions, defined in in the files <b>tiff.h</b> and
- <b>tiffio.h</b>,
- isolate the <tt>libtiff</tt> API from the characteristics
- of the underlying machine.
- To insure portable code and correct operation, applications that use
- <tt>libtiff</tt> should use the typedefs and follow the function
- prototypes for the library API.
- </p>
- <hr>
- <h2 id="mman">Memory Management</h2>
- <p>
- <tt>libtiff</tt> uses a machine-specific set of routines for managing
- dynamically allocated memory.
- <tt>_TIFFmalloc</tt>, <tt>_TIFFrealloc</tt>, and <tt>_TIFFfree</tt>
- mimic the normal ANSI C routines.
- Any dynamically allocated memory that is to be passed into the library
- should be allocated using these interfaces in order to insure pointer
- compatibility on machines with a segmented architecture.
- (On 32-bit UNIX systems these routines just call the normal <tt>malloc</tt>,
- <tt>realloc</tt>, and <tt>free</tt> routines in the C library.)
- </p>
- <p>
- To deal with segmented pointer issues <tt>libtiff</tt> also provides
- <tt>_TIFFmemcpy</tt>, <tt>_TIFFmemset</tt>, and <tt>_TIFFmemmove</tt>
- routines that mimic the equivalent ANSI C routines, but that are
- intended for use with memory allocated through <tt>_TIFFmalloc</tt>
- and <tt>_TIFFrealloc</tt>.
- </p>
- <hr>
- <h2 id="errors">Error Handling</h2>
- <p>
- <tt>libtiff</tt> handles most errors by returning an invalid/erroneous
- value when returning from a function call.
- Various diagnostic messages may also be generated by the library.
- All error messages are directed to a single global error handler
- routine that can be specified with a call to <tt>TIFFSetErrorHandler</tt>.
- Likewise warning messages are directed to a single handler routine
- that can be specified with a call to <tt>TIFFSetWarningHandler</tt>
- </p>
- <hr>
- <h2 id="fio">Basic File Handling</h2>
- <p>
- The library is modeled after the normal UNIX stdio library.
- For example, to read from an existing TIFF image the
- file must first be opened:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("foo.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;... do stuff ...<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- }</tt>
- </p>
- <p>
- The handle returned by <tt>TIFFOpen</tt> is <i>opaque</i>, that is
- the application is not permitted to know about its contents.
- All subsequent library calls for this file must pass the handle
- as an argument.
- </p>
- <p>
- To create or overwrite a TIFF image the file is also opened, but with
- a <tt>"w"</tt> argument:
- <p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("foo.tif", "w");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;... do stuff ...<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- }</tt>
- </p>
- <p>
- If the file already exists it is first truncated to zero length.
- </p>
- <table>
- <tr>
- <td valign=top><img src="images/warning.gif" width="40" height="40" alt=""></td>
- <td><i>Note that unlike the stdio library TIFF image files may not be
- opened for both reading and writing;
- there is no support for altering the contents of a TIFF file.</i></td>
- </tr>
- </table>
- <p>
- <tt>libtiff</tt> buffers much information associated with writing a
- valid TIFF image. Consequently, when writing a TIFF image it is necessary
- to always call <tt>TIFFClose</tt> or <tt>TIFFFlush</tt> to flush any
- buffered information to a file. Note that if you call <tt>TIFFClose</tt>
- you do not need to call <tt>TIFFFlush</tt>.
- </p>
- <hr>
- <h2 id="dirs">TIFF Directories</h2>
- <p>
- TIFF supports the storage of multiple images in a single file.
- Each image has an associated data structure termed a <i>directory</i>
- that houses all the information about the format and content of the
- image data.
- Images in a file are usually related but they do not need to be; it
- is perfectly alright to store a color image together with a black and
- white image.
- Note however that while images may be related their directories are
- not.
- That is, each directory stands on its own; their is no need to read
- an unrelated directory in order to properly interpret the contents
- of an image.
- </p>
- <p>
- <tt>libtiff</tt> provides several routines for reading and writing
- directories. In normal use there is no need to explicitly
- read or write a directory: the library automatically reads the first
- directory in a file when opened for reading, and directory information
- to be written is automatically accumulated and written when writing
- (assuming <tt>TIFFClose</tt> or <tt>TIFFFlush</tt> are called).
- </p>
- <p>
- For a file open for reading the <tt>TIFFSetDirectory</tt> routine can
- be used to select an arbitrary directory; directories are referenced by
- number with the numbering starting at 0. Otherwise the
- <tt>TIFFReadDirectory</tt> and <tt>TIFFWriteDirectory</tt> routines can
- be used for sequential access to directories.
- For example, to count the number of directories in a file the following
- code might be used:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main(int argc, char* argv[])<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen(argv[1], "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int dircount = 0;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dircount++;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} while (TIFFReadDirectory(tif));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d directories in %s\n", dircount, argv[1]);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;exit(0);<br>
- }</tt>
- </p>
- <p>
- Finally, note that there are several routines for querying the
- directory status of an open file:
- <tt>TIFFCurrentDirectory</tt> returns the index of the current
- directory and
- <tt>TIFFLastDirectory</tt> returns an indication of whether the
- current directory is the last directory in a file.
- There is also a routine, <tt>TIFFPrintDirectory</tt>, that can
- be called to print a formatted description of the contents of
- the current directory; consult the manual page for complete details.
- </p>
- <hr>
- <h2 id="tags">TIFF Tags</h2>
- <p>
- Image-related information such as the image width and height, number
- of samples, orientation, colorimetric information, etc.
- are stored in each image
- directory in <i>fields</i> or <i>tags</i>.
- Tags are identified by a number that is usually a value registered
- with the Aldus (now Adobe) Corporation.
- Beware however that some vendors write
- TIFF images with tags that are unregistered; in this case interpreting
- their contents is usually a waste of time.
- </p>
- <p>
- <tt>libtiff</tt> reads the contents of a directory all at once
- and converts the on-disk information to an appropriate in-memory
- form. While the TIFF specification permits an arbitrary set of
- tags to be defined and used in a file, the library only understands
- a limited set of tags.
- Any unknown tags that are encountered in a file are ignored.
- There is a mechanism to extend the set of tags the library handles
- without modifying the library itself;
- this is described <a href="addingtags.html">elsewhere</a>.
- </p>
- <p>
- <tt>libtiff</tt> provides two interfaces for getting and setting tag
- values: <tt>TIFFGetField</tt> and <tt>TIFFSetField</tt>.
- These routines use a variable argument list-style interface to pass
- parameters of different type through a single function interface.
- The <i>get interface</i> takes one or more pointers to memory locations
- where the tag values are to be returned and also returns one or
- zero according to whether the requested tag is defined in the directory.
- The <i>set interface</i> takes the tag values either by-reference or
- by-value.
- The TIFF specification defines
- <i>default values</i> for some tags.
- To get the value of a tag, or its default value if it is undefined,
- the <tt>TIFFGetFieldDefaulted</tt> interface may be used.
- </p>
- <p>
- The manual pages for the tag get and set routines specify the exact data types
- and calling conventions required for each tag supported by the library.
- </p>
- <hr>
- <h2 id="compression">TIFF Compression Schemes</h2>
- <p>
- <tt>libtiff</tt> includes support for a wide variety of
- data compression schemes.
- In normal operation a compression scheme is automatically used when
- the TIFF <tt>Compression</tt> tag is set, either by opening a file
- for reading, or by setting the tag when writing.
- </p>
- <p>
- Compression schemes are implemented by software modules termed <i>codecs</i>
- that implement decoder and encoder routines that hook into the
- core library i/o support.
- Codecs other than those bundled with the library can be registered
- for use with the <tt>TIFFRegisterCODEC</tt> routine.
- This interface can also be used to override the core-library
- implementation for a compression scheme.
- </p>
- <hr>
- <h2 id="byteorder">Byte Order</h2>
- <p>
- The TIFF specification says, and has always said, that
- <em>a correct TIFF
- reader must handle images in big-endian and little-endian byte order</em>.
- <tt>libtiff</tt> conforms in this respect.
- Consequently there is no means to force a specific
- byte order for the data written to a TIFF image file (data is
- written in the native order of the host CPU unless appending to
- an existing file, in which case it is written in the byte order
- specified in the file).
- </p>
- <hr>
- <h2 id="dataplacement">Data Placement</h2>
- <p>
- The TIFF specification requires that all information except an
- 8-byte header can be placed anywhere in a file.
- In particular, it is perfectly legitimate for directory information
- to be written after the image data itself.
- Consequently TIFF is inherently not suitable for passing through a
- stream-oriented mechanism such as UNIX pipes.
- Software that require that data be organized in a file in a particular
- order (e.g. directory information before image data) does not
- correctly support TIFF.
- <tt>libtiff</tt> provides no mechanism for controlling the placement
- of data in a file; image data is typically written before directory
- information.
- </p>
- <hr>
- <h2 id="tiffrgbaimage">TIFFRGBAImage Support</h2>
- <p>
- <tt>libtiff</tt> provides a high-level interface for reading image
- data from a TIFF file. This interface handles the details of
- data organization and format for a wide variety of TIFF files;
- at least the large majority of those files that one would normally
- encounter. Image data is, by default, returned as ABGR
- pixels packed into 32-bit words (8 bits per sample). Rectangular
- rasters can be read or data can be intercepted at an intermediate
- level and packed into memory in a format more suitable to the
- application.
- The library handles all the details of the format of data stored on
- disk and, in most cases, if any colorspace conversions are required:
- bilevel to RGB, greyscale to RGB, CMYK to RGB, YCbCr to RGB, 16-bit
- samples to 8-bit samples, associated/unassociated alpha, etc.
- </p>
- <p>
- There are two ways to read image data using this interface. If
- all the data is to be stored in memory and manipulated at once,
- then the routine <tt>TIFFReadRGBAImage</tt> can be used:
- </p>
- <p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main(int argc, char* argv[])<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen(argv[1], "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t w, h;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t npixels;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t* raster;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &amp;w);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;h);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;npixels = w * h;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raster = (uint32_t*) _TIFFmalloc(npixels * sizeof (uint32_t));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (raster != NULL) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (TIFFReadRGBAImage(tif, w, h, raster, 0)) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...process raster data...<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(raster);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;exit(0);<br>
- }</tt>
- </p>
- <p>
- Note above that <tt>_TIFFmalloc</tt> is used to allocate memory for
- the raster passed to <tt>TIFFReadRGBAImage</tt>; this is important
- to insure the ``appropriate type of memory'' is passed on machines
- with segmented architectures.
- </p>
- <p>
- Alternatively, <tt>TIFFReadRGBAImage</tt> can be replaced with a
- more low-level interface that permits an application to have more
- control over this reading procedure. The equivalent to the above
- is:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main(int argc, char* argv[])<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen(argv[1], "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFRGBAImage img;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char emsg[1024];<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (TIFFRGBAImageBegin(&amp;img, tif, 0, emsg)) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t npixels;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t* raster;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;npixels = img.width * img.height;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raster = (uint32_t*) _TIFFmalloc(npixels * sizeof (uint32_t));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (raster != NULL) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (TIFFRGBAImageGet(&amp;img, raster, img.width, img.height)) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...process raster data...<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(raster);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFRGBAImageEnd(&amp;img);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFError(argv[1], emsg);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;exit(0);<br>
- }</tt>
- </p>
- <p>
- However this usage does not take advantage of the more fine-grained
- control that's possible. That is, by using this interface it is
- possible to:
- </p>
- <ul>
- <li>repeatedly fetch (and manipulate) an image without opening
- and closing the file</li>
- <li>interpose a method for packing raster pixel data according to
- application-specific needs (or write the data at all)</li>
- <li>interpose methods that handle TIFF formats that are not already
- handled by the core library</li>
- </ul>
- <p>
- The first item means that, for example, image viewers that want to
- handle multiple files can cache decoding information in order to
- speedup the work required to display a TIFF image.
- </p>
- <p>
- The second item is the main reason for this interface. By interposing
- a "put method" (the routine that is called to pack pixel data in
- the raster) it is possible share the core logic that understands how
- to deal with TIFF while packing the resultant pixels in a format that
- is optimized for the application. This alternate format might be very
- different than the 8-bit per sample ABGR format the library writes by
- default. For example, if the application is going to display the image
- on an 8-bit colormap display the put routine might take the data and
- convert it on-the-fly to the best colormap indices for display.
- </p>
- <p>
- The last item permits an application to extend the library
- without modifying the core code.
- By overriding the code provided an application might add support
- for some esoteric flavor of TIFF that it needs, or it might
- substitute a packing routine that is able to do optimizations
- using application/environment-specific information.
- </p>
- <p>
- The TIFF image viewer found in <b>tools/sgigt.c</b> is an example
- of an application that makes use of the <tt>TIFFRGBAImage</tt>
- support.
- </p>
- <hr>
- <h2 id="scanlines">Scanline-based Image I/O</h2>
- <p>
- The simplest interface provided by <tt>libtiff</tt> is a
- scanline-oriented interface that can be used to read TIFF
- images that have their image data organized in strips
- (trying to use this interface to read data written in tiles
- will produce errors.)
- A scanline is a one pixel high row of image data whose width
- is the width of the image.
- Data is returned packed if the image data is stored with samples
- packed together, or as arrays of separate samples if the data
- is stored with samples separated.
- The major limitation of the scanline-oriented interface, other
- than the need to first identify an existing file as having a
- suitable organization, is that random access to individual
- scanlines can only be provided when data is not stored in a
- compressed format, or when the number of rows in a strip
- of image data is set to one (<tt>RowsPerStrip</tt> is one).
- </p>
- <p>
- Two routines are provided for scanline-based i/o:
- <tt>TIFFReadScanline</tt>
- and
- <tt>TIFFWriteScanline</tt>.
- For example, to read the contents of a file that
- is assumed to be organized in strips, the following might be used:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("myfile.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t imagelength;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tdata_t buf;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t row;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;imagelength);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFmalloc(TIFFScanlineSize(tif));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (row = 0; row &lt; imagelength; row++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFReadScanline(tif, buf, row, 0);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(buf);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- }</tt>
- </p>
- <p>
- <tt>TIFFScanlineSize</tt> returns the number of bytes in
- a decoded scanline, as returned by <tt>TIFFReadScanline</tt>.
- Note however that if the file had been create with samples
- written in separate planes, then the above code would only
- read data that contained the first sample of each pixel;
- to handle either case one might use the following instead:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("myfile.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t imagelength;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tdata_t buf;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t row;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;imagelength);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &amp;config);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFmalloc(TIFFScanlineSize(tif));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (config == PLANARCONFIG_CONTIG) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (row = 0; row &lt; imagelength; row++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFReadScanline(tif, buf, row, 0);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else if (config == planarconfig_separate) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint16_t s, nsamples;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiffgetfield(tif, tifftag_samplesperpixel, &amp;nsamples);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (s = 0; s &lt; nsamples; s++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (row = 0; row &lt; imagelength; row++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFReadScanline(tif, buf, row, s);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(buf);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- }</tt>
- </p>
- <p>
- Beware however that if the following code were used instead to
- read data in the case <tt>PLANARCONFIG_SEPARATE</tt>,...
- </p>
- <p style="margin-left: 40px">
- <tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (row = 0; row &lt; imagelength; row++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (s = 0; s &lt; nsamples; s++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFReadScanline(tif, buf, row, s);</tt>
- </p>
- <p>
- ...then problems would arise if <tt>RowsPerStrip</tt> was not one
- because the order in which scanlines are requested would require
- random access to data within strips (something that is not supported
- by the library when strips are compressed).
- </p>
- <hr>
- <h2 id="strips">Strip-oriented Image I/O</h2>
- <p>
- The strip-oriented interfaces provided by the library provide
- access to entire strips of data. Unlike the scanline-oriented
- calls, data can be read or written compressed or uncompressed.
- Accessing data at a strip (or tile) level is often desirable
- because there are no complications with regard to random access
- to data within strips.
- </p>
- <p>
- A simple example of reading an image by strips is:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("myfile.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tdata_t buf;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tstrip_t strip;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFmalloc(TIFFStripSize(tif));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (strip = 0; strip &lt; tiffnumberofstrips(tif); strip++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiffreadencodedstrip(tif, strip, buf, (tsize_t) -1);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(buf);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- }</tt>
- </p>
- <p>
- Notice how a strip size of <tt>-1</tt> is used; <tt>TIFFReadEncodedStrip</tt>
- will calculate the appropriate size in this case.
- </p>
- <p>
- The above code reads strips in the order in which the
- data is physically stored in the file. If multiple samples
- are present and data is stored with <tt>PLANARCONFIG_SEPARATE</tt>
- then all the strips of data holding the first sample will be
- read, followed by strips for the second sample, etc.
- </p>
- <p>
- Finally, note that the last strip of data in an image may have fewer
- rows in it than specified by the <tt>RowsPerStrip</tt> tag. A
- reader should not assume that each decoded strip contains a full
- set of rows in it.
- </p>
- <p>
- The following is an example of how to read raw strips of data from
- a file:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("myfile.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tdata_t buf;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tstrip_t strip;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t* bc;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t stripsize;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &amp;bc);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stripsize = bc[0];<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFmalloc(stripsize);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (strip = 0; strip &lt; tiffnumberofstrips(tif); strip++) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (bc[strip] &gt; stripsize) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFrealloc(buf, bc[strip]);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stripsize = bc[strip];<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFReadRawStrip(tif, strip, buf, bc[strip]);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(buf);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- }</tt>
- </p>
- <p>
- As above the strips are read in the order in which they are
- physically stored in the file; this may be different from the
- logical ordering expected by an application.
- </p>
- <hr>
- <h2 id="tiles">Tile-oriented Image I/O</h2>
- <p>
- Tiles of data may be read and written in a manner similar to strips.
- With this interface, an image is
- broken up into a set of rectangular areas that may have dimensions
- less than the image width and height. All the tiles
- in an image have the same size, and the tile width and length must each
- be a multiple of 16 pixels. Tiles are ordered left-to-right and
- top-to-bottom in an image. As for scanlines, samples can be packed
- contiguously or separately. When separated, all the tiles for a sample
- are colocated in the file. That is, all the tiles for sample 0 appear
- before the tiles for sample 1, etc.
- </p>
- <p>
- Tiles and strips may also be extended in a z dimension to form
- volumes. Data volumes are organized as "slices". That is, all the
- data for a slice is colocated. Volumes whose data is organized in
- tiles can also have a tile depth so that data can be organized in
- cubes.
- </p>
- <p>
- There are actually two interfaces for tiles.
- One interface is similar to scanlines, to read a tiled image,
- code of the following sort might be used:
- </p>
- <p style="margin-left: 40px">
- <tt>main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("myfile.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t imageWidth, imageLength;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t tileWidth, tileLength;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t x, y;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tdata_t buf;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &amp;imageWidth);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &amp;imageLength);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_TILEWIDTH, &amp;tileWidth);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFGetField(tif, TIFFTAG_TILELENGTH, &amp;tileLength);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFmalloc(TIFFTileSize(tif));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (y = 0; y &lt; imagelength; y += tilelength)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (x = 0; x &lt; imagewidth; x += tilewidth)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiffreadtile(tif, buf, x, y, 0);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(buf);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- }</tt>
- </p>
- <p>
- (once again, we assume samples are packed contiguously.)
- </p>
- <p>
- Alternatively a direct interface to the low-level data is provided
- a la strips. Tiles can be read with
- <tt>TIFFReadEncodedTile</tt> or <tt>TIFFReadRawTile</tt>,
- and written with <tt>TIFFWriteEncodedTile</tt> or
- <tt>TIFFWriteRawTile</tt>. For example, to read all the tiles in an image:
- </p>
- <p style="margin-left: 40px">
- <tt>#include "tiffio.h"<br>
- main()<br>
- {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;TIFF* tif = TIFFOpen("myfile.tif", "r");<br>
- &nbsp;&nbsp;&nbsp;&nbsp;if (tif) {<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tdata_t buf;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ttile_t tile;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf = _TIFFmalloc(TIFFTileSize(tif));<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (tile = 0; tile &lt; tiffnumberoftiles(tif); tile++)<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiffreadencodedtile(tif, tile, buf, (tsize_t) -1);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_TIFFfree(buf);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIFFClose(tif);<br>
- &nbsp;&nbsp;&nbsp;&nbsp;}<br>
- }</tt>
- </p>
- <hr>
- <h2 id="other">Other Stuff</h2>
- <p>
- Some other stuff will almost certainly go here...
- </p>
- <hr>
- <p>
- Last updated: $Date: 2016-09-25 20:05:44 $
- </p>
-</body>
-</html>
diff --git a/html/man/CMakeLists.txt b/html/man/CMakeLists.txt
deleted file mode 100644
index 97aeaf63..00000000
--- a/html/man/CMakeLists.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-# CMake build for libtiff
-#
-# Copyright © 2015 Open Microscopy Environment / University of Dundee
-# Written by Roger Leigh <rleigh@codelibre.net>
-#
-# Permission to use, copy, modify, distribute, and sell this software and
-# its documentation for any purpose is hereby granted without fee, provided
-# that (i) the above copyright notices and this permission notice appear in
-# all copies of the software and related documentation, and (ii) the names of
-# Sam Leffler and Silicon Graphics may not be used in any advertising or
-# publicity relating to the software without the specific, prior written
-# permission of Sam Leffler and Silicon Graphics.
-#
-# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-
-set(indexfile index.html)
-
-set(docfiles
- libtiff.3tiff.html
- TIFFbuffer.3tiff.html
- TIFFClose.3tiff.html
- TIFFcodec.3tiff.html
- TIFFcolor.3tiff.html
- TIFFDataWidth.3tiff.html
- TIFFError.3tiff.html
- TIFFFieldDataType.3tiff.html
- TIFFFieldName.3tiff.html
- TIFFFieldPassCount.3tiff.html
- TIFFFieldReadCount.3tiff.html
- TIFFFieldTag.3tiff.html
- TIFFFieldWriteCount.3tiff.html
- TIFFFlush.3tiff.html
- TIFFGetField.3tiff.html
- TIFFmemory.3tiff.html
- TIFFOpen.3tiff.html
- TIFFPrintDirectory.3tiff.html
- TIFFquery.3tiff.html
- TIFFReadDirectory.3tiff.html
- TIFFReadEncodedStrip.3tiff.html
- TIFFReadEncodedTile.3tiff.html
- TIFFReadRawStrip.3tiff.html
- TIFFReadRawTile.3tiff.html
- TIFFReadRGBAImage.3tiff.html
- TIFFReadRGBAStrip.3tiff.html
- TIFFReadRGBATile.3tiff.html
- TIFFReadScanline.3tiff.html
- TIFFReadTile.3tiff.html
- TIFFRGBAImage.3tiff.html
- TIFFSetDirectory.3tiff.html
- TIFFSetField.3tiff.html
- TIFFsize.3tiff.html
- TIFFstrip.3tiff.html
- TIFFswab.3tiff.html
- TIFFtile.3tiff.html
- TIFFWarning.3tiff.html
- TIFFWriteDirectory.3tiff.html
- TIFFWriteEncodedStrip.3tiff.html
- TIFFWriteEncodedTile.3tiff.html
- TIFFWriteRawStrip.3tiff.html
- TIFFWriteRawTile.3tiff.html
- TIFFWriteScanline.3tiff.html
- TIFFWriteTile.3tiff.html
- fax2ps.1.html
- fax2tiff.1.html
- pal2rgb.1.html
- ppm2tiff.1.html
- raw2tiff.1.html
- tiff2bw.1.html
- tiff2pdf.1.html
- tiff2ps.1.html
- tiff2rgba.1.html
- tiffcmp.1.html
- tiffcp.1.html
- tiffcrop.1.html
- tiffdither.1.html
- tiffdump.1.html
- tiffgt.1.html
- tiffinfo.1.html
- tiffmedian.1.html
- tiffset.1.html
- tiffsplit.1.html)
-
-set(doc_DATA ${indexfile} ${docfiles})
-
-install(FILES ${doc_DATA}
- DESTINATION "${LIBTIFF_DOCDIR}/html/man")
-
-# htmldoc target to regenerate HTML files
-string(REPLACE ";" "^" escaped_docfiles "${docfiles}")
-add_custom_target(htmldoc
- COMMAND "${CMAKE_COMMAND}"
- "-DMANSRCDIR=${PROJECT_SOURCE_DIR}/man"
- "-DHTMLMANDIR=${PROJECT_SOURCE_DIR}/html/man"
- "-DINDEXFILE=${indexfile}"
- "-DDOCFILES=${escaped_docfiles}"
- -P "${CMAKE_CURRENT_SOURCE_DIR}/HtmlDoc.cmake")
-
diff --git a/html/man/Makefile.am b/html/man/Makefile.am
deleted file mode 100644
index 3ed00d44..00000000
--- a/html/man/Makefile.am
+++ /dev/null
@@ -1,122 +0,0 @@
-# Tag Image File Format (TIFF) Software
-#
-# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
-#
-# Permission to use, copy, modify, distribute, and sell this software and
-# its documentation for any purpose is hereby granted without fee, provided
-# that (i) the above copyright notices and this permission notice appear in
-# all copies of the software and related documentation, and (ii) the names of
-# Sam Leffler and Silicon Graphics may not be used in any advertising or
-# publicity relating to the software without the specific, prior written
-# permission of Sam Leffler and Silicon Graphics.
-#
-# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-
-# Process this file with automake to produce Makefile.in.
-
-docdir = $(LIBTIFF_DOCDIR)/html/man
-MANSRCDIR = $(top_srcdir)/man
-HTMLMANDIR = $(top_srcdir)/html/man
-
-GROFF = groff -Thtml -mandoc
-ECHO = echo
-
-indexfile = index.html
-docfiles = \
- libtiff.3tiff.html \
- TIFFbuffer.3tiff.html \
- TIFFClose.3tiff.html \
- TIFFcodec.3tiff.html \
- TIFFcolor.3tiff.html \
- TIFFDataWidth.3tiff.html \
- TIFFError.3tiff.html \
- TIFFFieldDataType.3tiff.html \
- TIFFFieldName.3tiff.html \
- TIFFFieldPassCount.3tiff.html \
- TIFFFieldReadCount.3tiff.html \
- TIFFFieldTag.3tiff.html \
- TIFFFieldWriteCount.3tiff.html \
- TIFFFlush.3tiff.html \
- TIFFGetField.3tiff.html \
- TIFFmemory.3tiff.html \
- TIFFOpen.3tiff.html \
- TIFFPrintDirectory.3tiff.html \
- TIFFquery.3tiff.html \
- TIFFReadDirectory.3tiff.html \
- TIFFReadEncodedStrip.3tiff.html \
- TIFFReadEncodedTile.3tiff.html \
- TIFFReadRawStrip.3tiff.html \
- TIFFReadRawTile.3tiff.html \
- TIFFReadRGBAImage.3tiff.html \
- TIFFReadRGBAStrip.3tiff.html \
- TIFFReadRGBATile.3tiff.html \
- TIFFReadScanline.3tiff.html \
- TIFFReadTile.3tiff.html \
- TIFFRGBAImage.3tiff.html \
- TIFFSetDirectory.3tiff.html \
- TIFFSetField.3tiff.html \
- TIFFsize.3tiff.html \
- TIFFstrip.3tiff.html \
- TIFFswab.3tiff.html \
- TIFFtile.3tiff.html \
- TIFFWarning.3tiff.html \
- TIFFWriteDirectory.3tiff.html \
- TIFFWriteEncodedStrip.3tiff.html \
- TIFFWriteEncodedTile.3tiff.html \
- TIFFWriteRawStrip.3tiff.html \
- TIFFWriteRawTile.3tiff.html \
- TIFFWriteScanline.3tiff.html \
- TIFFWriteTile.3tiff.html \
- fax2ps.1.html \
- fax2tiff.1.html \
- pal2rgb.1.html \
- ppm2tiff.1.html \
- raw2tiff.1.html \
- tiff2bw.1.html \
- tiff2pdf.1.html \
- tiff2ps.1.html \
- tiff2rgba.1.html \
- tiffcmp.1.html \
- tiffcp.1.html \
- tiffcrop.1.html \
- tiffdither.1.html \
- tiffdump.1.html \
- tiffgt.1.html \
- tiffinfo.1.html \
- tiffmedian.1.html \
- tiffset.1.html \
- tiffsplit.1.html
-
-dist_doc_DATA = $(indexfile) $(docfiles)
-
-INDEXSTART = '<HTML><HEAD><TITLE>Libtiff HTML manpage index</TITLE></HEAD><BODY BGCOLOR=white><ul><H2>Man Pages</h2><p>'
-INDEXEND = '</ul></BODY></HTML>'
-
-.PHONY: index
-index:
- ${ECHO} ${INDEXSTART} > $(indexfile)
- for i in $(docfiles); do \
- ${ECHO} '<li><A HREF='$$i'>'$$i'</a>' >> $(indexfile); \
- done
- ${ECHO} ${INDEXEND} >> $(indexfile)
-
-manpages = $(docfiles:.html=)
-
-.PHONY: htmldoc
-htmldoc:
- for i in $(manpages); do \
- ${GROFF} $(MANSRCDIR)/$$i > $(HTMLMANDIR)/$$i.html; \
- done
-
-EXTRA_DIST = \
- CMakeLists.txt \
- HtmlDoc.cmake
diff --git a/html/man/TIFFClose.3tiff.html b/html/man/TIFFClose.3tiff.html
deleted file mode 100644
index 908dcc70..00000000
--- a/html/man/TIFFClose.3tiff.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:15 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFClose</title>
-</head>
-<body>
-
-<h1 align=center>TIFFClose</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFClose &minus; close a previously opened
-<small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>void TIFFClose(TIFF *</b><i>tif</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFClose</i> closes a file that was previously opened
-with <b>TIFFOpen</b>(3TIFF). Any buffered data are flushed
-to the file, including the contents of the current directory
-(if modified); and all resources are reclaimed.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the routine. Likewise,
-warning messages are directed to the
-<b>TIFFWarning</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>libtiff</b>(3TIFF), <b>TIFFOpen</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFDataWidth.3tiff.html b/html/man/TIFFDataWidth.3tiff.html
deleted file mode 100644
index c8318ded..00000000
--- a/html/man/TIFFDataWidth.3tiff.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFDataWidth</title>
-</head>
-<body>
-
-<h1 align=center>TIFFDataWidth</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFDataWidth &minus; Get the size of TIFF data types</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFDataWidth(TIFFDataType</b>
-<i>type</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFDataWidth</i> returns a size of <i>type</i> in
-bytes. Currently following data types are supported:<i><br>
-TIFF_BYTE<br>
-TIFF_ASCII<br>
-TIFF_SBYTE<br>
-TIFF_UNDEFINED<br>
-TIFF_SHORT<br>
-TIFF_SSHORT<br>
-TIFF_LONG<br>
-TIFF_SLONG<br>
-TIFF_FLOAT<br>
-TIFF_IFD<br>
-TIFF_RATIONAL<br>
-TIFF_SRATIONAL<br>
-TIFF_DOUBLE</i></p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFDataWidth</i> returns a number of bytes occupied
-by the item of given type. 0 returned when unknown data type
-supplied.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>libtiff</b>(3TIFF),</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFError.3tiff.html b/html/man/TIFFError.3tiff.html
deleted file mode 100644
index cd30c7ed..00000000
--- a/html/man/TIFFError.3tiff.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFError</title>
-</head>
-<body>
-
-<h1 align=center>TIFFError</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFError, TIFFSetErrorHandler &minus; library error
-handling interface</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>void TIFFError(const char *</b><i>module</i><b>, const
-char *</b><i>fmt</i><b>,</b> <i>...</i><b>)</b></p>
-<!-- INDENTATION -->
-<p><b>#include &lt;stdarg.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>typedef void (*TIFFErrorHandler)(const char
-*</b><i>module</i><b>, const char *</b><i>fmt</i><b>,
-va_list</b> <i>ap</i><b>);<br>
-TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler
-handler);</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFError</i> invokes the library-wide error handling
-function to (normally) write an error message to the
-<b>stderr</b>. The <i>fmt</i> parameter is a
-<i>printf</i>(3S) format string, and any number arguments
-can be supplied. The <i>module</i> parameter, if non-zero,
-is printed before the message; it typically is used to
-identify the software module in which an error is
-detected.</p>
-<!-- INDENTATION -->
-<p>Applications that desire to capture control in the event
-of an error should use <i>TIFFSetErrorHandler</i> to
-override the default error handler. A <small>NULL</small>
-(0) error handling function may be installed to suppress
-error messages.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFSetErrorHandler</i> returns a reference to the
-previous error handling function.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFWarning</b>(3TIFF), <b>libtiff</b>(3TIFF),
-<b>printf</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFFlush.3tiff.html b/html/man/TIFFFlush.3tiff.html
deleted file mode 100644
index 77782e64..00000000
--- a/html/man/TIFFFlush.3tiff.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFFlush</title>
-</head>
-<body>
-
-<h1 align=center>TIFFFlush</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFFlush, TIFFFlushData &minus; flush pending writes to
-an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFFlush(TIFF *</b><i>tif</i><b>)<br>
-int TIFFFlushData(TIFF *</b><i>tif</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFFlush</i> causes any pending writes for the
-specified file (including writes for the current directory)
-to be done. In normal operation this call is never needed
-&minus; the library automatically does any flushing
-required.</p>
-<!-- INDENTATION -->
-<p><i>TIFFFlushData</i> flushes any pending image data for
-the specified file to be written out; directory-related data
-are not flushed. In normal operation this call is never
-needed &minus; the library automatically does any flushing
-required.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>0 is returned if an error is encountered, otherwise 1 is
-returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFWriteEncodedStrip</b>(3TIFF),
-<b>TIFFWriteEncodedTile</b>(3TIFF),
-<b>TIFFWriteRawStrip</b>(3TIFF),
-<b>TIFFWriteRawTile</b>(3TIFF),
-<b>TIFFWriteScanline</b>(3TIFF), <b>TIFFWriteTile</b>(3TIFF)
-<b>libtiff</b>(3TIFF),</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFOpen.3tiff.html b/html/man/TIFFOpen.3tiff.html
deleted file mode 100644
index 2379121f..00000000
--- a/html/man/TIFFOpen.3tiff.html
+++ /dev/null
@@ -1,421 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFOpen</title>
-</head>
-<body>
-
-<h1 align=center>TIFFOpen</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#BYTE ORDER">BYTE ORDER</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFOpen, TIFFFdOpen, TIFFClientOpen &minus; open a
-<small>TIFF</small> file for reading or writing</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>TIFF* TIFFOpen(const char *</b><i>filename</i><b>,
-const char *</b><i>mode</i><b>)<br>
-TIFF* TIFFFdOpen(const int</b> <i>fd</i><b>, const char
-*</b><i>filename</i><b>, const char
-*</b><i>mode</i><b>)</b></p>
-<!-- INDENTATION -->
-<p><b>typedef tsize_t (*TIFFReadWriteProc)(thandle_t,
-tdata_t, tsize_t);<br>
-typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int);<br>
-typedef int (*TIFFCloseProc)(thandle_t);<br>
-typedef toff_t (*TIFFSizeProc)(thandle_t);<br>
-typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*,
-toff_t*);<br>
-typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t,
-toff_t);</b></p>
-<!-- INDENTATION -->
-<p><b>TIFF* TIFFClientOpen(const char
-*</b><i>filename</i><b>, const char *</b><i>mode</i><b>,
-thandle_t</b> <i>clientdata</i><b>, TIFFReadWriteProc</b>
-<i>readproc</i><b>, TIFFReadWriteProc</b>
-<i>writeproc</i><b>, TIFFSeekProc</b> <i>seekproc</i><b>,
-TIFFCloseProc</b> <i>closeproc</i><b>, TIFFSizeProc</b>
-<i>sizeproc</i><b>, TIFFMapFileProc</b> <i>mapproc</i><b>,
-TIFFUnmapFileProc</b> <i>unmapproc</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFOpen</i> opens a <small>TIFF</small> file whose
-name is <i>filename</i> and returns a handle to be used in
-subsequent calls to routines in <i>libtiff</i>. If the open
-operation fails, then zero is returned. The <i>mode</i>
-parameter specifies if the file is to be opened for reading
-(&lsquo;&lsquo;r&rsquo;&rsquo;), writing
-(&lsquo;&lsquo;w&rsquo;&rsquo;), or appending
-(&lsquo;&lsquo;a&rsquo;&rsquo;) and, optionally, whether to
-override certain default aspects of library operation (see
-below). When a file is opened for appending, existing data
-will not be touched; instead new data will be written as
-additional subfiles. If an existing file is opened for
-writing, all previous data is overwritten.</p>
-<!-- INDENTATION -->
-<p>If a file is opened for reading, the first
-<small>TIFF</small> directory in the file is automatically
-read (also see <i>TIFFSetDirectory</i>(3TIFF) for reading
-directories other than the first). If a file is opened for
-writing or appending, a default directory is automatically
-created for writing subsequent data. This directory has all
-the default values specified in <small>TIFF</small> Revision
-6.0: <i>BitsPerSample</i>=1, <i>ThreshHolding</i>=bilevel
-art scan, <i>FillOrder</i>=1 (most significant bit of each
-data byte is filled first), <i>Orientation</i>=1 (the 0th
-row represents the visual top of the image, and the 0th
-column represents the visual left hand side),
-<i>SamplesPerPixel</i>=1, <i>RowsPerStrip</i>=infinity,
-<i>ResolutionUnit</i>=2 (inches), and <i>Compression</i>=1
-(no compression). To alter these values, or to define values
-for additional fields, <i>TIFFSetField</i>(3TIFF) must be
-used.</p>
-<!-- INDENTATION -->
-<p><i>TIFFFdOpen</i> is like <i>TIFFOpen</i> except that it
-opens a <small>TIFF</small> file given an open file
-descriptor <i>fd</i>. The file&rsquo;s name and mode must
-reflect that of the open descriptor. The object associated
-with the file descriptor <b>must support random
-access</b>.</p>
-<!-- INDENTATION -->
-<p><i>TIFFClientOpen</i> is like <i>TIFFOpen</i> except that
-the caller supplies a collection of functions that the
-library will use to do <small>UNIX</small> -like I/O
-operations. The <i>readproc</i> and <i>writeproc</i> are
-called to read and write data at the current file position.
-<i>seekproc</i> is called to change the current file
-position a la <i>lseek</i>(2). <i>closeproc</i> is invoked
-to release any resources associated with an open file.
-<i>sizeproc</i> is invoked to obtain the size in bytes of a
-file. <i>mapproc</i> and <i>unmapproc</i> are called to map
-and unmap a file&rsquo;s contents in memory; c.f.
-<i>mmap</i>(2) and <i>munmap</i>(2). The <i>clientdata</i>
-parameter is an opaque &lsquo;&lsquo;handle&rsquo;&rsquo;
-passed to the client-specified routines passed as parameters
-to <i>TIFFClientOpen</i>.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The open mode parameter can include the following flags
-in addition to the &lsquo;&lsquo;r&rsquo;&rsquo;,
-&lsquo;&lsquo;w&rsquo;&rsquo;, and
-&lsquo;&lsquo;a&rsquo;&rsquo; flags. Note however that
-option flags must follow the read-write-append
-specification.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>l</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>When creating a new file force information be written
-with Little-Endian byte order (but see below). By default
-the library will create new files using the native
-<small>CPU</small> byte order.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>b</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>When creating a new file force information be written
-with Big-Endian byte order (but see below). By default the
-library will create new files using the native
-<small>CPU</small> byte order.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>L</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Force image data that is read or written to be treated
-with bits filled from Least Significant Bit (
-<small>LSB</small> ) to Most Significant Bit (
-<small>MSB</small> ). Note that this is the opposite to the
-way the library has worked from its inception.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>B</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Force image data that is read or written to be treated
-with bits filled from Most Significant Bit (
-<small>MSB</small> ) to Least Significant Bit (
-<small>LSB</small> ); this is the default.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>H</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Force image data that is read or written to be treated
-with bits filled in the same order as the native
-<small>CPU.</small></p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>M</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Enable the use of memory-mapped files for images opened
-read-only. If the underlying system does not support
-memory-mapped files or if the specific image being opened
-cannot be memory-mapped then the library will fallback to
-using the normal system interface for reading information.
-By default the library will attempt to use memory-mapped
-files.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>m</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Disable the use of memory-mapped files.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>C</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Enable the use of &lsquo;&lsquo;strip
-chopping&rsquo;&rsquo; when reading images that are
-comprised of a single strip or tile of uncompressed data.
-Strip chopping is a mechanism by which the library will
-automatically convert the single-strip image to multiple
-strips, each of which has about 8 Kilobytes of data. This
-facility can be useful in reducing the amount of memory used
-to read an image because the library normally reads each
-strip in its entirety. Strip chopping does however alter the
-apparent contents of the image because when an image is
-divided into multiple strips it looks as though the
-underlying file contains multiple separate strips. Finally,
-note that default handling of strip chopping is a
-compile-time configuration parameter. The default behaviour,
-for backwards compatibility, is to enable strip
-chopping.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>c</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Disable the use of strip chopping when reading
-images.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>h</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Read TIFF header only, do not load the first image
-directory. That could be useful in case of the broken first
-directory. We can open the file and proceed to the other
-directories.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="BYTE ORDER"></a>
-<h2>BYTE ORDER</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The <small>TIFF</small> specification (<b>all
-versions</b>) states that compliant readers <i>must be
-capable of reading images written in either byte order</i>.
-Nonetheless some software that claims to support the reading
-of <small>TIFF</small> images is incapable of reading images
-in anything but the native <small>CPU</small> byte order on
-which the software was written. (Especially notorious are
-applications written to run on Intel-based machines.) By
-default the library will create new files with the native
-byte-order of the <small>CPU</small> on which the
-application is run. This ensures optimal performance and is
-portable to any application that conforms to the TIFF
-specification. To force the library to use a specific
-byte-order when creating a new file the
-&lsquo;&lsquo;b&rsquo;&rsquo; and
-&lsquo;&lsquo;l&rsquo;&rsquo; option flags may be included
-in the call to open a file; for example,
-&lsquo;&lsquo;wb&rsquo;&rsquo; or
-&lsquo;&lsquo;wl&rsquo;&rsquo;.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Upon successful completion <i>TIFFOpen</i>,
-<i>TIFFFdOpen</i>, and <i>TIFFClientOpen</i> return a
-<small>TIFF</small> pointer. Otherwise, NULL is
-returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine. Likewise, warning messages
-are directed to the <i>TIFFWarning</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>&quot;%s&quot;: Bad mode</b>. The specified
-<i>mode</i> parameter was not one of
-&lsquo;&lsquo;r&rsquo;&rsquo; (read),
-&lsquo;&lsquo;w&rsquo;&rsquo; (write), or
-&lsquo;&lsquo;a&rsquo;&rsquo; (append).</p>
-<!-- INDENTATION -->
-<p><b>%s: Cannot open</b>. <i>TIFFOpen</i>() was unable to
-open the specified filename for read/writing.</p>
-<!-- INDENTATION -->
-<p><b>Cannot read TIFF header</b>. An error occurred while
-attempting to read the header information.</p>
-<!-- INDENTATION -->
-<p><b>Error writing TIFF header</b>. An error occurred while
-writing the default header information for a new file.</p>
-<!-- INDENTATION -->
-<p><b>Not a TIFF file, bad magic number %d (0x%x)</b>. The
-magic number in the header was not (hex) 0x4d4d or (hex)
-0x4949.</p>
-<!-- INDENTATION -->
-<p><b>Not a TIFF file, bad version number %d (0x%x)</b>. The
-version field in the header was not 42 (decimal).</p>
-<!-- INDENTATION -->
-<p><b>Cannot append to file that has opposite byte
-ordering</b>. A file with a byte ordering opposite to the
-native byte ordering of the current machine was opened for
-appending (&lsquo;&lsquo;a&rsquo;&rsquo;). This is a
-limitation of the library.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>libtiff</i>(3TIFF), <i>TIFFClose</i>(3TIFF)</p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFPrintDirectory.3tiff.html b/html/man/TIFFPrintDirectory.3tiff.html
deleted file mode 100644
index f4dca6e4..00000000
--- a/html/man/TIFFPrintDirectory.3tiff.html
+++ /dev/null
@@ -1,225 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFPrintDirectory</title>
-</head>
-<body>
-
-<h1 align=center>TIFFPrintDirectory</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFPrintDirectory &minus; print a description of a
-<small>TIFF</small> directory</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>void TIFFPrintDirectory(TIFF *</b><i>tif</i><b>, FILE
-*</b><i>fd</i><b>, long</b> <i>flags</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFPrintDirectory</i> prints a description of the
-current directory in the specified <small>TIFF</small> file
-to the standard I/O output stream <i>fd</i>. The
-<i>flags</i> parameter is used to control the <i>level of
-detail</i> of the printed information; it is a bit-or of the
-flags defined in <b>tiffio.h</b>:</p></td>
-</table>
-<!-- TABS -->
-
-<p>#define TIFFPRINT_NONE 0x0 /* no extra info */</p>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="1%">
-
-<p>#define</p>
-</td>
-<td width="30%">
-
-<p>TIFFPRINT_STRIPS</p>
-</td>
-<td width="10%">
-
-<p>0x1</p>
-</td>
-<td width="48%">
-
-<p>/* strips/tiles info */</p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="1%">
-
-<p>#define</p>
-</td>
-<td width="30%">
-
-<p>TIFFPRINT_CURVES</p>
-</td>
-<td width="10%">
-
-<p>0x2</p>
-</td>
-<td width="48%">
-
-<p>/* color/gray response curves */</p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="1%">
-
-<p>#define</p>
-</td>
-<td width="30%">
-
-<p>TIFFPRINT_COLORMAP</p>
-</td>
-<td width="10%">
-
-<p>0x4</p>
-</td>
-<td width="48%">
-
-<p>/* colormap */</p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="1%">
-
-<p>#define</p>
-</td>
-<td width="30%">
-
-<p>TIFFPRINT_JPEGQTABLES</p>
-</td>
-<td width="10%">
-
-<p>0x100</p>
-</td>
-<td width="48%">
-
-<p>/* JPEG Q matrices */</p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="1%">
-
-<p>#define</p>
-</td>
-<td width="30%">
-
-<p>TIFFPRINT_JPEGACTABLES</p>
-</td>
-<td width="10%">
-
-<p>0x200</p>
-</td>
-<td width="48%">
-
-<p>/* JPEG AC tables */</p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="1%">
-
-<p>#define</p>
-</td>
-<td width="30%">
-
-<p>TIFFPRINT_JPEGDCTABLES</p>
-</td>
-<td width="10%">
-
-<p>0x200</p>
-</td>
-<td width="48%">
-
-<p>/* JPEG DC tables */</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>In C++ the <i>flags</i> parameter defaults to 0.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>libtiff</i>(3TIFF), <i>TIFFOpen</i>(3TIFF),
-<i>TIFFReadDirectory</i>(3TIFF),
-<i>TIFFSetDirectory</i>(3TIFF)</p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFRGBAImage.3tiff.html b/html/man/TIFFRGBAImage.3tiff.html
deleted file mode 100644
index 1d97e53e..00000000
--- a/html/man/TIFFRGBAImage.3tiff.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFRGBAImage</title>
-</head>
-<body>
-
-<h1 align=center>TIFFRGBAImage</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#ALTERNATE RASTER FORMATS">ALTERNATE RASTER FORMATS</a><br>
-<a href="#SIMULTANEOUS RASTER STORE AND DISPLAY">SIMULTANEOUS RASTER STORE AND DISPLAY</a><br>
-<a href="#SUPPORTING ADDITIONAL TIFF FORMATS">SUPPORTING ADDITIONAL TIFF FORMATS</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFRGBAImageOK, TIFFRGBAImageBegin, TIFFRGBAImageGet,
-TIFFRGBAImageEnd &minus; read and decode an image into a
-raster</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>typedef unsigned char TIFFRGBValue; typedef struct
-_TIFFRGBAImage TIFFRGBAImage;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFRGBAImageOK(TIFF *</b><i>tif</i><b>, char</b>
-<i>emsg[1024]</i><b>)<br>
-int TIFFRGBAImageBegin(TIFFRGBAImage *</b><i>img</i><b>,
-TIFF*</b> <i>tif</i><b>, int</b> <i>stopOnError</i><b>,
-char</b> <i>emsg[1024]</i><b>)<br>
-int TIFFRGBAImageGet(TIFFRGBAImage *</b><i>img</i><b>,
-uint32_t*</b> <i>raster</i><b>, uint32_t</b> <i>width</i> <b>,
-uint32_t</b> <i>height</i><b>)<br>
-void TIFFRGBAImageEnd(TIFFRGBAImage
-*</b><i>img</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The routines described here provide a high-level
-interface through which <small>TIFF</small> images may be
-read into memory. Images may be strip- or tile-based and
-have a variety of different characteristics: bits/sample,
-samples/pixel, photometric, etc. Decoding state is
-encapsulated in a <i>TIFFRGBAImage</i> structure making it
-possible to capture state for multiple images and quickly
-switch between them. The target raster format can be
-customized to a particular application&rsquo;s needs by
-installing custom routines that manipulate image data
-according to application requirements.</p>
-<!-- INDENTATION -->
-<p>The default usage for these routines is: check if an
-image can be processed using <i>TIFFRGBAImageOK</i>,
-construct a decoder state block using
-<i>TIFFRGBAImageBegin</i>, read and decode an image into a
-target raster using <i>TIFFRGBAImageGet</i>, and then
-release resources using <i>TIFFRGBAImageEnd</i>.
-<i>TIFFRGBAImageGet</i> can be called multiple times to
-decode an image using different state parameters. If
-multiple images are to be displayed and there is not enough
-space for each of the decoded rasters, multiple state blocks
-can be managed and then calls can be made to
-<i>TIFFRGBAImageGet</i> as needed to display an image.</p>
-<!-- INDENTATION -->
-<p>The generated raster is assumed to be an array of
-<i>width</i> times <i>height</i> 32-bit entries, where
-<i>width</i> must be less than or equal to the width of the
-image (<i>height</i> may be any non-zero size). If the
-raster dimensions are smaller than the image, the image data
-is cropped to the raster bounds. If the raster height is
-greater than that of the image, then the image data are
-placed in the lower part of the raster. (Note that the
-raster is assume to be organized such that the pixel at
-location (<i>x</i>,<i>y</i>) is
-<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
-raster origin in the <b>lower-left</b> hand corner.)</p>
-<!-- INDENTATION -->
-<p>Raster pixels are 8-bit packed red, green, blue, alpha
-samples. The macros <i>TIFFGetR</i>, <i>TIFFGetG</i>,
-<i>TIFFGetB</i>, and <i>TIFFGetA</i> should be used to
-access individual samples. Images without Associated Alpha
-matting information have a constant Alpha of 1.0 (255).</p>
-<!-- INDENTATION -->
-<p><i>TIFFRGBAImageGet</i> converts non-8-bit images by
-scaling sample values. Palette, grayscale, bilevel,
-<small>CMYK</small> , and YCbCr images are converted to
-<small>RGB</small> transparently. Raster pixels are returned
-uncorrected by any colorimetry information present in the
-directory.</p>
-<!-- INDENTATION -->
-<p>The parameter <i>stopOnError</i> specifies how to act if
-an error is encountered while reading the image. If
-<i>stopOnError</i> is non-zero, then an error will terminate
-the operation; otherwise <i>TIFFRGBAImageGet</i> will
-continue processing data until all the possible data in the
-image have been requested.</p>
-</td>
-</table>
-<a name="ALTERNATE RASTER FORMATS"></a>
-<h2>ALTERNATE RASTER FORMATS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>To use the core support for reading and processing
-<small>TIFF</small> images, but write the resulting raster
-data in a different format one need only override the
-&lsquo;&lsquo;<i>put methods</i>&rsquo;&rsquo; used to store
-raster data. These methods are are defined in the
-<i>TIFFRGBAImage</i> structure and initially setup by
-<i>TIFFRGBAImageBegin</i> to point to routines that pack
-raster data in the default <small>ABGR</small> pixel format.
-Two different routines are used according to the physical
-organization of the image data in the file:
-<i>PlanarConfiguration</i>=1 (packed samples), and
-<i>PlanarConfiguration</i>=2 (separated samples). Note that
-this mechanism can be used to transform the data before
-storing it in the raster. For example one can convert data
-to colormap indices for display on a colormap display.</p>
-</td>
-</table>
-<a name="SIMULTANEOUS RASTER STORE AND DISPLAY"></a>
-<h2>SIMULTANEOUS RASTER STORE AND DISPLAY</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>It is simple to display an image as it is being read into
-memory by overriding the put methods as described above for
-supporting alternate raster formats. Simply keep a reference
-to the default put methods setup by
-<i>TIFFRGBAImageBegin</i> and then invoke them before or
-after each display operation. For example, the
-<i>tiffgt</i>(1) utility uses the following put method to
-update the display as the raster is being filled:</p>
-<!-- INDENTATION -->
-<pre>static void
-putContigAndDraw(TIFFRGBAImage* img, uint32_t* raster,
- uint32_t x, uint32_t y, uint32_t w, uint32_t h,
- int32_t fromskew, int32_t toskew,
- unsigned char* cp)
-{
- (*putContig)(img, raster, x, y, w, h, fromskew, toskew, cp);
- if (x+w == width) {
- w = width;
- if (img-&gt;orientation == ORIENTATION_TOPLEFT)
- lrectwrite(0, y-(h-1), w-1, y, raster-x-(h-1)*w);
- else
- lrectwrite(0, y, w-1, y+h-1, raster);
- }
-}
-</pre>
-<!-- INDENTATION -->
-<p>(the original routine provided by the library is saved in
-the variable <i>putContig</i>.)</p>
-</td>
-</table>
-<a name="SUPPORTING ADDITIONAL TIFF FORMATS"></a>
-<h2>SUPPORTING ADDITIONAL TIFF FORMATS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The <i>TIFFRGBAImage</i> routines support the most
-commonly encountered flavors of <small>TIFF.</small> It is
-possible to extend this support by overriding the
-&lsquo;&lsquo;<i>get method</i>&rsquo;&rsquo; invoked by
-<i>TIFFRGBAImageGet</i> to read <small>TIFF</small> image
-data. Details of doing this are a bit involved, it is best
-to make a copy of an existing get method and modify it to
-suit the needs of an application.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Samples must be either 1, 2, 4, 8, or 16 bits.
-Colorimetric samples/pixel must be either 1, 3, or 4 (i.e.
-<i>SamplesPerPixel</i> minus <i>ExtraSamples</i>).</p>
-<!-- INDENTATION -->
-<p>Palette image colormaps that appear to be incorrectly
-written as 8-bit values are automatically scaled to
-16-bits.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All routines return 1 if the operation was successful.
-Otherwise, 0 is returned if an error was encountered and
-<i>stopOnError</i> is zero.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-bit pictures</b>. The image
-had <i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-channel images</b>. The image
-had <i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
-<!-- INDENTATION -->
-<p><b>Missing needed &quot;PhotometricInterpretation&quot;
-tag</b>. The image did not have a tag that describes how to
-display the data.</p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-RGB</b>. The image was missing a tag that describes how to
-display it, but because it has 3 or 4 samples/pixel, it is
-assumed to be <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-min-is-black</b>. The image was missing a tag that describes
-how to display it, but because it has 1 sample/pixel, it is
-assumed to be a grayscale or bilevel image.</p>
-<!-- INDENTATION -->
-<p><b>No space for photometric conversion table</b>. There
-was insufficient memory for a table used to convert image
-samples to 8-bit <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>Missing required &quot;Colormap&quot; tag</b>. A
-Palette image did not have a required <i>Colormap</i>
-tag.</p>
-<!-- INDENTATION -->
-<p><b>No space for tile buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>No space for strip buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>Can not handle format</b>. The image has a format
-(combination of <i>BitsPerSample</i>,
-<i>SamplesPerPixel</i>, and
-<i>PhotometricInterpretation</i>) that can not be
-handled.</p>
-<!-- INDENTATION -->
-<p><b>No space for B&amp;W mapping table</b>. There was
-insufficient memory to allocate a table used to map
-grayscale data to <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No space for Palette mapping table</b>. There was
-insufficient memory to allocate a table used to map data to
-8-bit <small>RGB.</small></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFReadRGBAImage</b>(3TIFF),
-<b>TIFFReadRGBAImageOriented</b>(3TIFF),
-<b>TIFFReadRGBAStrip</b>(3TIFF),
-<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadDirectory.3tiff.html b/html/man/TIFFReadDirectory.3tiff.html
deleted file mode 100644
index 5e4004db..00000000
--- a/html/man/TIFFReadDirectory.3tiff.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadDirectory</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadDirectory</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>TIFFReadDirectory &minus; get the contents of the
-next directory in an open</big> TIFF <big>file</big></p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>#include &lt;tiffio.h&gt;</b></big></p>
-<!-- INDENTATION -->
-<p><big><b>int TIFFReadDirectory(TIFF
-*</b><i>tif</i><b>)</b></big></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>Read the next directory in the specified file and
-make it the current directory. Applications only need to
-call <i>TIFFReadDirectory</i> to read multiple subfiles in a
-single</big> TIFF <big>file&mdash; the first directory in a
-file is automatically read when <i>TIFFOpen</i> is
-called.</big></p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>If the library is compiled with</big>
-STRIPCHOP_SUPPORT <big>enabled, then images that have a
-single uncompressed strip or tile of data are automatically
-treated as if they were made up of multiple strips or tiles
-of approximately 8 kilobytes each. This operation is done
-only in-memory; it does not alter the contents of the file.
-However, the construction of the &lsquo;&lsquo;chopped
-strips&rsquo;&rsquo; is visible to the application through
-the number of strips [tiles] returned by
-<i>TIFFNumberOfStrips</i>
-[<i>TIFFNumberOfTiles</i>].</big></p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>If the next directory was successfully read, 1 is
-returned. Otherwise, 0 is returned if an error was
-encountered, or if there are no more directories to be
-read.</big></p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine. All warning messages are
-directed to the <i>TIFFWarning</i>(3TIFF) routine.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Seek error accessing TIFF directory</b>. An error
-occurred while positioning to the location of the
-directory.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Wrong data type %d for field &quot;%s&quot;</b>.
-The tag entry in the directory had an incorrect data type.
-For example, an <i>ImageDescription</i> tag with a</big>
-SHORT <big>data type.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required &quot;%s&quot;
-field</b>. The specified tag is required to be present by
-the</big> TIFF <big>5.0 specification, but is missing. The
-directory is (usually) unusable.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: Rational with zero denominator</b>. A
-directory tag has a</big> RATIONAL <big>value whose
-denominator is zero.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Incorrect count %d for field &quot;%s&quot; (%lu,
-expecting %lu); tag ignored</b>. The specified tag&rsquo;s
-count field is bad. For example, a count other than 1 for a
-<i>SubFileType</i> tag.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Cannot handle different per-sample values for
-field &quot;%s&quot;</b>. The tag has <i>SamplesPerPixel</i>
-values and they are not all the same; e.g.
-<i>BitsPerSample</i>. The library is unable to handle images
-of this sort.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Count mismatch for field &quot;%s&quot;;
-expecting %d, got %d</b>. The count field in a tag does not
-agree with the number expected by the library. This should
-never happen, so if it does, the library refuses to read the
-directory.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Invalid TIFF directory; tags are not sorted in
-ascending order</b>. The directory tags are not properly
-sorted as specified in the</big> TIFF <big>5.0
-specification. This error is not fatal.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Ignoring unknown field with tag %d (0x%x)</b>. An
-unknown tag was encountered in the directory; the library
-ignores all such tags.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required
-&quot;ImageLength&quot; field</b>. The image violates the
-specification by not having a necessary field. There is no
-way for the library to recover from this error.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required
-&quot;PlanarConfig&quot; field</b>. The image violates the
-specification by not having a necessary field. There is no
-way for the library to recover from this error.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required
-&quot;StripOffsets&quot; field</b>. The image has multiple
-strips, but is missing the tag that specifies the file
-offset to each strip of data. There is no way for the
-library to recover from this error.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required
-&quot;TileOffsets&quot; field</b>. The image has multiple
-tiles, but is missing the tag that specifies the file offset
-to each tile of data. There is no way for the library to
-recover from this error.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required
-&quot;StripByteCounts&quot; field</b>. The image has
-multiple strips, but is missing the tag that specifies the
-size of each strip of data. There is no way for the library
-to recover from this error.</big></p>
-<!-- INDENTATION -->
-<p><big><b>TIFF directory is missing required
-&quot;StripByteCounts&quot; field, calculating from
-imagelength</b>. The image violates the specification by not
-having a necessary field. However, when the image is
-comprised of only one strip or tile, the library will
-estimate the missing value based on the file size.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Bogus &quot;StripByteCounts&quot; field, ignoring
-and calculating from imagelength</b>. Certain vendors
-violate the specification by writing zero for the
-StripByteCounts tag when they want to leave the value
-unspecified. If the image has a single strip, the library
-will estimate the missing value based on the file
-size.</big></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>TIFFOpen</b>(3TIFF),
-<b>TIFFWriteDirectory</b>(3TIFF),
-<b>TIFFSetDirectory</b>(3TIFF),
-<b>TIFFSetSubDirectory</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</big></p>
-<!-- INDENTATION -->
-<p><big>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></big></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadEncodedStrip.3tiff.html b/html/man/TIFFReadEncodedStrip.3tiff.html
deleted file mode 100644
index c942063f..00000000
--- a/html/man/TIFFReadEncodedStrip.3tiff.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadEncodedStrip</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadEncodedStrip</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>TIFFReadEncodedStrip &minus; read and decode a strip
-of data from an open</big> TIFF <big>file</big></p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>#include &lt;tiffio.h&gt;</b></big></p>
-<!-- INDENTATION -->
-<p><big><b>tsize_t TIFFReadEncodedStrip(TIFF
-*</b><i>tif</i><b>, tstrip_t</b> <i>strip</i><b>,
-tdata_t</b> <i>buf</i><b>, tsize_t</b>
-<i>size</i><b>)</b></big></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>Read the specified strip of data and place up to
-<i>size</i> bytes of decompressed information in the (user
-supplied) data buffer.</big></p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The value of <i>strip</i> is a &lsquo;&lsquo;raw
-strip number.&rsquo;&rsquo; That is, the caller must take
-into account whether or not the data are organized in
-separate planes (<i>PlanarConfiguration</i>=2). To read a
-full strip of data the data buffer should typically be at
-least as large as the number returned by
-<b>TIFFStripSize</b>(3TIFF). If the -1 passed in <i>size</i>
-parameter, the whole strip will be read. You should be sure
-you have enough space allocated for the buffer.</big></p>
-<!-- INDENTATION -->
-<p><big>The library attempts to hide bit- and byte-ordering
-differences between the image and the native machine by
-converting data to the native machine order. Bit reversal is
-done if the <i>FillOrder</i> tag is opposite to the native
-machine bit order. 16- and 32-bit samples are automatically
-byte-swapped if the file was written with a byte order
-opposite to the native machine byte order,</big></p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The actual number of bytes of data that were placed
-in <i>buf</i> is returned; <i>TIFFReadEncodedStrip</i>
-returns &minus;1 if an error was encountered.</big></p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</big></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>TIFFOpen</b>(3TIFF),
-<b>TIFFReadRawStrip</b>(3TIFF),
-<b>TIFFReadScanline</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</big></p>
-<!-- INDENTATION -->
-<p><big>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></big></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadEncodedTile.3tiff.html b/html/man/TIFFReadEncodedTile.3tiff.html
deleted file mode 100644
index 92eb72a3..00000000
--- a/html/man/TIFFReadEncodedTile.3tiff.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadEncodedTile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadEncodedTile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadEncodedTile &minus; read and decode a tile of
-data from an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFReadEncodedTile(TIFF *</b><i>tif</i><b>,
-ttile_t</b> <i>tile</i><b>, tdata_t</b> <i>buf</i><b>,
-tsize_t</b> <i>size</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Read the specified tile of data and place up to
-<i>size</i> bytes of decompressed information in the (user
-supplied) data buffer.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The value of <i>tile</i> is a &lsquo;&lsquo;raw tile
-number.&rsquo;&rsquo; That is, the caller must take into
-account whether or not the data are organized in separate
-planes (<i>PlanarConfiguration</i>=2).
-<i>TIFFComputeTile</i> automatically does this when
-converting an (x,y,z,sample) coordinate quadruple to a tile
-number. To read a full tile of data the data buffer should
-be at least as large as the value returned by
-<i>TIFFTileSize</i>.</p>
-<!-- INDENTATION -->
-<p>The library attempts to hide bit- and byte-ordering
-differences between the image and the native machine by
-converting data to the native machine order. Bit reversal is
-done if the <i>FillOrder</i> tag is opposite to the native
-machine bit order. 16- and 32-bit samples are automatically
-byte-swapped if the file was written with a byte order
-opposite to the native machine byte order,</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The actual number of bytes of data that were placed in
-<i>buf</i> is returned; <i>TIFFReadEncodedTile</i> returns
-&minus;1 if an error was encountered.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFReadRawTile</b>(3TIFF),
-<b>TIFFReadTile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadRGBAImage.3tiff.html b/html/man/TIFFReadRGBAImage.3tiff.html
deleted file mode 100644
index 37578bc5..00000000
--- a/html/man/TIFFReadRGBAImage.3tiff.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadRGBAImage</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadRGBAImage</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadRGBAImage, TIFFReadRGBAImageOriented &minus; read
-and decode an image into a fixed-format raster</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>#define TIFFGetR(abgr) ((abgr) &amp; 0xff)<br>
-#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff)<br>
-#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)<br>
-#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp;
-0xff)</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFReadRGBAImage(TIFF *</b><i>tif</i><b>,
-uint32_t</b> <i>width</i><b>, uint32_t</b> <i>height</i><b>,
-uint32_t *</b><i>raster</i><b>, int</b>
-<i>stopOnError</i><b>)<br>
-int TIFFReadRGBAImageOriented(TIFF *</b><i>tif</i><b>,
-uint32_t</b> <i>width</i><b>, uint32_t</b> <i>height</i><b>,
-uint32_t *</b><i>raster</i><b>, int</b> <i>orientation</i><b>,
-int</b> <i>stopOnError</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFReadRGBAImage</i> reads a strip- or tile-based
-image into memory, storing the result in the user supplied
-<i>raster</i>. The raster is assumed to be an array of
-<i>width</i> times <i>height</i> 32-bit entries, where
-<i>width</i> must be less than or equal to the width of the
-image (<i>height</i> may be any non-zero size). If the
-raster dimensions are smaller than the image, the image data
-is cropped to the raster bounds. If the raster height is
-greater than that of the image, then the image data are
-placed in the lower part of the raster. (Note that the
-raster is assume to be organized such that the pixel at
-location (<i>x</i>,<i>y</i>) is
-<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
-raster origin in the lower-left hand corner.)</p>
-<!-- INDENTATION -->
-<p><i>TIFFReadRGBAImageOriented</i> works like
-<i>TIFFReadRGBAImage</i> with except of that user can
-specify the raster origin position with the
-<i>orientation</i> parameter. Four orientations
-supported:</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>ORIENTATION_TOPLEFT</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>origin in top-left corner,</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>ORIENTATION_TOPRIGHT</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>origin in top-right corner,</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>ORIENTATION_BOTLEFT</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>origin in bottom-left corner and</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>ORIENTATION_BOTRIGHT</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>origin in bottom-right corner.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>If you choose <b>ORIENTATION_BOTLEFT</b> result will be
-the same as returned by the <i>TIFFReadRGBAImage.</i></p>
-<!-- INDENTATION -->
-<p>Raster pixels are 8-bit packed red, green, blue, alpha
-samples. The macros <i>TIFFGetR</i>, <i>TIFFGetG</i>,
-<i>TIFFGetB</i>, and <i>TIFFGetA</i> should be used to
-access individual samples. Images without Associated Alpha
-matting information have a constant Alpha of 1.0 (255).</p>
-<!-- INDENTATION -->
-<p><i>TIFFReadRGBAImage</i> converts non-8-bit images by
-scaling sample values. Palette, grayscale, bilevel,
-<small>CMYK</small> , and YCbCr images are converted to
-<small>RGB</small> transparently. Raster pixels are returned
-uncorrected by any colorimetry information present in the
-directory.</p>
-<!-- INDENTATION -->
-<p>The parameter <i>stopOnError</i> specifies how to act if
-an error is encountered while reading the image. If
-<i>stopOnError</i> is non-zero, then an error will terminate
-the operation; otherwise <i>TIFFReadRGBAImage</i> will
-continue processing data until all the possible data in the
-image have been requested.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>In C++ the <i>stopOnError</i> parameter defaults to
-0.</p>
-<!-- INDENTATION -->
-<p>Samples must be either 1, 2, 4, 8, or 16 bits.
-Colorimetric samples/pixel must be either 1, 3, or 4 (i.e.
-<i>SamplesPerPixel</i> minus <i>ExtraSamples</i>).</p>
-<!-- INDENTATION -->
-<p>Palettte image colormaps that appear to be incorrectly
-written as 8-bit values are automatically scaled to
-16-bits.</p>
-<!-- INDENTATION -->
-<p><i>TIFFReadRGBAImage</i> is just a wrapper around the
-more general <i>TIFFRGBAImage</i>(3TIFF) facilities.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>1 is returned if the image was successfully read and
-converted. Otherwise, 0 is returned if an error was
-encountered and <i>stopOnError</i> is zero.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-bit pictures</b>. The image
-had <i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-channel images</b>. The image
-had <i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
-<!-- INDENTATION -->
-<p><b>Missing needed &quot;PhotometricInterpretation&quot;
-tag</b>. The image did not have a tag that describes how to
-display the data.</p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-RGB</b>. The image was missing a tag that describes how to
-display it, but because it has 3 or 4 samples/pixel, it is
-assumed to be <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-min-is-black</b>. The image was missing a tag that describes
-how to display it, but because it has 1 sample/pixel, it is
-assumed to be a grayscale or bilevel image.</p>
-<!-- INDENTATION -->
-<p><b>No space for photometric conversion table</b>. There
-was insufficient memory for a table used to convert image
-samples to 8-bit <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>Missing required &quot;Colormap&quot; tag</b>. A
-Palette image did not have a required <i>Colormap</i>
-tag.</p>
-<!-- INDENTATION -->
-<p><b>No space for tile buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>No space for strip buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>Can not handle format</b>. The image has a format
-(combination of <i>BitsPerSample</i>,
-<i>SamplesPerPixel</i>, and
-<i>PhotometricInterpretation</i>) that
-<i>TIFFReadRGBAImage</i> can not handle.</p>
-<!-- INDENTATION -->
-<p><b>No space for B&amp;W mapping table</b>. There was
-insufficient memory to allocate a table used to map
-grayscale data to <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No space for Palette mapping table</b>. There was
-insufficient memory to allocate a table used to map data to
-8-bit <small>RGB.</small></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFRGBAImage</b>(3TIFF),
-<b>TIFFReadRGBAStrip</b>(3TIFF),
-<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadRGBAStrip.3tiff.html b/html/man/TIFFReadRGBAStrip.3tiff.html
deleted file mode 100644
index 2d6caeb7..00000000
--- a/html/man/TIFFReadRGBAStrip.3tiff.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadRGBAStrip</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadRGBAStrip</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadRGBAStrip &minus; read and decode an image strip
-into a fixed-format raster</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>#define TIFFGetR(abgr) ((abgr) &amp; 0xff)<br>
-#define TIFFGetG(abgr) (((abgr) &gt;&gt; 8) &amp; 0xff)<br>
-#define TIFFGetB(abgr) (((abgr) &gt;&gt; 16) &amp; 0xff)<br>
-#define TIFFGetA(abgr) (((abgr) &gt;&gt; 24) &amp;
-0xff)</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFReadRGBAStrip(TIFF *</b><i>tif</i><b>,
-uint32_t</b> <i>row</i><b>, uint32_t
-*</b><i>raster</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFReadRGBAStrip</i> reads a single strip of a
-strip-based image into memory, storing the result in the
-user supplied RGBA <i>raster</i>. The raster is assumed to
-be an array of width times rowsperstrip 32-bit entries,
-where width is the width of the image (TIFFTAG_IMAGEWIDTH)
-and rowsperstrip is the maximum lines in a strip
-(TIFFTAG_ROWSPERSTRIP).</p>
-<!-- INDENTATION -->
-<p>The <i>row</i> value should be the row of the first row
-in the strip (strip * rowsperstrip, zero based).</p>
-<!-- INDENTATION -->
-<p>Note that the raster is assume to be organized such that
-the pixel at location (<i>x</i>,<i>y</i>) is
-<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
-raster origin in the <i>lower-left hand corner</i> of the
-strip. That is bottom to top organization. When reading a
-partial last strip in the file the last line of the image
-will begin at the beginning of the buffer.</p>
-<!-- INDENTATION -->
-<p>Raster pixels are 8-bit packed red, green, blue, alpha
-samples. The macros <i>TIFFGetR</i>, <i>TIFFGetG</i>,
-<i>TIFFGetB</i>, and <i>TIFFGetA</i> should be used to
-access individual samples. Images without Associated Alpha
-matting information have a constant Alpha of 1.0 (255).</p>
-<!-- INDENTATION -->
-<p>See the <i>TIFFRGBAImage</i>(3TIFF) page for more details
-on how various image types are converted to RGBA values.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Samples must be either 1, 2, 4, 8, or 16 bits.
-Colorimetric samples/pixel must be either 1, 3, or 4 (i.e.
-<i>SamplesPerPixel</i> minus <i>ExtraSamples</i>).</p>
-<!-- INDENTATION -->
-<p>Palette image colormaps that appear to be incorrectly
-written as 8-bit values are automatically scaled to
-16-bits.</p>
-<!-- INDENTATION -->
-<p><i>TIFFReadRGBAStrip</i> is just a wrapper around the
-more general <i>TIFFRGBAImage</i>(3TIFF) facilities.
-It&rsquo;s main advantage over the similar
-<i>TIFFReadRGBAImage()</i> function is that for large images
-a single buffer capable of holding the whole image
-doesn&rsquo;t need to be allocated, only enough for one
-strip. The <i>TIFFReadRGBATile()</i> function does a similar
-operation for tiled images.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>1 is returned if the image was successfully read and
-converted. Otherwise, 0 is returned if an error was
-encountered.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-bit pictures</b>. The image
-had <i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-channel images</b>. The image
-had <i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
-<!-- INDENTATION -->
-<p><b>Missing needed &quot;PhotometricInterpretation&quot;
-tag</b>. The image did not have a tag that describes how to
-display the data.</p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-RGB</b>. The image was missing a tag that describes how to
-display it, but because it has 3 or 4 samples/pixel, it is
-assumed to be <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-min-is-black</b>. The image was missing a tag that describes
-how to display it, but because it has 1 sample/pixel, it is
-assumed to be a grayscale or bilevel image.</p>
-<!-- INDENTATION -->
-<p><b>No space for photometric conversion table</b>. There
-was insufficient memory for a table used to convert image
-samples to 8-bit <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>Missing required &quot;Colormap&quot; tag</b>. A
-Palette image did not have a required <i>Colormap</i>
-tag.</p>
-<!-- INDENTATION -->
-<p><b>No space for tile buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>No space for strip buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>Can not handle format</b>. The image has a format
-(combination of <i>BitsPerSample</i>,
-<i>SamplesPerPixel</i>, and
-<i>PhotometricInterpretation</i>) that
-<i>TIFFReadRGBAImage</i> can not handle.</p>
-<!-- INDENTATION -->
-<p><b>No space for B&amp;W mapping table</b>. There was
-insufficient memory to allocate a table used to map
-grayscale data to <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No space for Palette mapping table</b>. There was
-insufficient memory to allocate a table used to map data to
-8-bit <small>RGB.</small></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFRGBAImage</b>(3TIFF),
-<b>TIFFReadRGBAImage</b>(3TIFF),
-<b>TIFFReadRGBATile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadRGBATile.3tiff.html b/html/man/TIFFReadRGBATile.3tiff.html
deleted file mode 100644
index ea37f7e1..00000000
--- a/html/man/TIFFReadRGBATile.3tiff.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadRGBATile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadRGBATile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadRGBATile &minus; read and decode an image tile
-into a fixed-format raster</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="-2%">
-
-<p><b>#define TIFFGetR(abgr)</b></p>
-</td>
-<td width="25%"></td>
-<td width="6%"></td>
-<td width="61%">
-
-<p><b>((abgr) &amp; 0xff)</b></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="-2%">
-
-<p><b>#define TIFFGetG(abgr)</b></p>
-</td>
-<td width="25%"></td>
-<td width="6%"></td>
-<td width="61%">
-
-<p><b>(((abgr) &gt;&gt; 8) &amp; 0xff)</b></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="-2%">
-
-<p><b>#define TIFFGetB(abgr)</b></p>
-</td>
-<td width="25%"></td>
-<td width="6%"></td>
-<td width="61%">
-
-<p><b>(((abgr) &gt;&gt; 16) &amp; 0xff)</b></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="-2%">
-
-<p><b>#define TIFFGetA(abgr)</b></p>
-</td>
-<td width="25%"></td>
-<td width="6%"></td>
-<td width="61%">
-
-<p><b>(((abgr) &gt;&gt; 24) &amp; 0xff)</b></p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>int TIFFReadRGBATile(TIFF *</b><i>tif</i><b>,
-uint32_t</b> <i>x</i><b>, uint32_t</b> <i>y</i><b>, uint32_t
-*</b><i>raster</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFReadRGBATile</i> reads a single tile of a
-tile-based image into memory, storing the result in the user
-supplied RGBA <i>raster</i>. The raster is assumed to be an
-array of width times length 32-bit entries, where width is
-the width of a tile (TIFFTAG_TILEWIDTH) and length is the
-height of a tile (TIFFTAG_TILELENGTH).</p>
-<!-- INDENTATION -->
-<p>The <i>x</i> and <i>y</i> values are the offsets from the
-top left corner to the top left corner of the tile to be
-read. They must be an exact multiple of the tile width and
-length.</p>
-<!-- INDENTATION -->
-<p>Note that the raster is assume to be organized such that
-the pixel at location (<i>x</i>,<i>y</i>) is
-<i>raster</i>[<i>y</i>*<i>width</i>+<i>x</i>]; with the
-raster origin in the <i>lower-left hand corner</i> of the
-tile. That is bottom to top organization. Edge tiles which
-partly fall off the image will be filled out with
-appropriate zeroed areas.</p>
-<!-- INDENTATION -->
-<p>Raster pixels are 8-bit packed red, green, blue, alpha
-samples. The macros <i>TIFFGetR</i>, <i>TIFFGetG</i>,
-<i>TIFFGetB</i>, and <i>TIFFGetA</i> should be used to
-access individual samples. Images without Associated Alpha
-matting information have a constant Alpha of 1.0 (255).</p>
-<!-- INDENTATION -->
-<p>See the <i>TIFFRGBAImage</i>(3TIFF) page for more details
-on how various image types are converted to RGBA values.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Samples must be either 1, 2, 4, 8, or 16 bits.
-Colorimetric samples/pixel must be either 1, 3, or 4 (i.e.
-<i>SamplesPerPixel</i> minus <i>ExtraSamples</i>).</p>
-<!-- INDENTATION -->
-<p>Palette image colormaps that appear to be incorrectly
-written as 8-bit values are automatically scaled to
-16-bits.</p>
-<!-- INDENTATION -->
-<p><i>TIFFReadRGBATile</i> is just a wrapper around the more
-general <i>TIFFRGBAImage</i>(3TIFF) facilities. It&rsquo;s
-main advantage over the similar <i>TIFFReadRGBAImage()</i>
-function is that for large images a single buffer capable of
-holding the whole image doesn&rsquo;t need to be allocated,
-only enough for one tile. The <i>TIFFReadRGBAStrip()</i>
-function does a similar operation for stripped images.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>1 is returned if the image was successfully read and
-converted. Otherwise, 0 is returned if an error was
-encountered.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-bit pictures</b>. The image
-had <i>BitsPerSample</i> other than 1, 2, 4, 8, or 16.</p>
-<!-- INDENTATION -->
-<p><b>Sorry, can not handle %d-channel images</b>. The image
-had <i>SamplesPerPixel</i> other than 1, 3, or 4.</p>
-<!-- INDENTATION -->
-<p><b>Missing needed &quot;PhotometricInterpretation&quot;
-tag</b>. The image did not have a tag that describes how to
-display the data.</p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-RGB</b>. The image was missing a tag that describes how to
-display it, but because it has 3 or 4 samples/pixel, it is
-assumed to be <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No &quot;PhotometricInterpretation&quot; tag, assuming
-min-is-black</b>. The image was missing a tag that describes
-how to display it, but because it has 1 sample/pixel, it is
-assumed to be a grayscale or bilevel image.</p>
-<!-- INDENTATION -->
-<p><b>No space for photometric conversion table</b>. There
-was insufficient memory for a table used to convert image
-samples to 8-bit <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>Missing required &quot;Colormap&quot; tag</b>. A
-Palette image did not have a required <i>Colormap</i>
-tag.</p>
-<!-- INDENTATION -->
-<p><b>No space for tile buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>No space for strip buffer</b>. There was insufficient
-memory to allocate an i/o buffer.</p>
-<!-- INDENTATION -->
-<p><b>Can not handle format</b>. The image has a format
-(combination of <i>BitsPerSample</i>,
-<i>SamplesPerPixel</i>, and
-<i>PhotometricInterpretation</i>) that
-<i>TIFFReadRGBAImage</i> can not handle.</p>
-<!-- INDENTATION -->
-<p><b>No space for B&amp;W mapping table</b>. There was
-insufficient memory to allocate a table used to map
-grayscale data to <small>RGB.</small></p>
-<!-- INDENTATION -->
-<p><b>No space for Palette mapping table</b>. There was
-insufficient memory to allocate a table used to map data to
-8-bit <small>RGB.</small></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFRGBAImage</b>(3TIFF),
-<b>TIFFReadRGBAImage</b>(3TIFF),
-<b>TIFFReadRGBAStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadRawStrip.3tiff.html b/html/man/TIFFReadRawStrip.3tiff.html
deleted file mode 100644
index d8ea9d98..00000000
--- a/html/man/TIFFReadRawStrip.3tiff.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadRawStrip</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadRawStrip</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadRawStrip &minus; return the undecoded contents of
-a strip of data from an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFReadRawStrip(TIFF *</b><i>tif</i><b>,
-tstrip_t</b> <i>strip</i><b>, tdata_t</b> <i>buf</i><b>,
-tsize_t</b> <i>size</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Read the contents of the specified strip into the (user
-supplied) data buffer. Note that the value of <i>strip</i>
-is a &lsquo;&lsquo;raw strip number.&rsquo;&rsquo; That is,
-the caller must take into account whether or not the data is
-organized in separate planes (<i>PlanarConfiguration</i>=2).
-To read a full strip of data the data buffer should
-typically be at least as large as the number returned by
-<i>TIFFStripSize</i>.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The actual number of bytes of data that were placed in
-<i>buf</i> is returned; <i>TIFFReadRawStrip</i> returns
-&minus;1 if an error was encountered.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFReadEncodedStrip</b>(3TIFF),
-<b>TIFFReadScanline</b>(3TIFF), <b>TIFFStripSize</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadRawTile.3tiff.html b/html/man/TIFFReadRawTile.3tiff.html
deleted file mode 100644
index 0065d2cf..00000000
--- a/html/man/TIFFReadRawTile.3tiff.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadRawTile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadRawTile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadRawTile &minus; return an undecoded tile of data
-from an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFReadRawTile(TIFF *</b><i>tif</i><b>,
-ttile_t</b> <i>tile</i><b>, tdata_t</b> <i>buf</i><b>,
-tsize_t</b> <i>size</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Read the contents of the specified tile into the (user
-supplied) data buffer. Note that the value of <i>tile</i> is
-a &lsquo;&lsquo;raw tile number.&rsquo;&rsquo; That is, the
-caller must take into account whether or not the data is
-organized in separate planes (<i>PlanarConfiguration</i>=2).
-<i>TIFFComputeTile</i> automatically does this when
-converting an (x,y,z,sample) coordinate quadruple to a tile
-number. To read a full tile of data the data buffer should
-typically be at least as large as the value returned by
-<i>TIFFTileSize</i>.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The actual number of bytes of data that were placed in
-<i>buf</i> is returned; <i>TIFFReadEncodedTile</i> returns
-&minus;1 if an error was encountered.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFReadEncodedTile</b>(3TIFF),
-<b>TIFFReadTile</b>(3TIFF), <b>TIFFTileSize</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadScanline.3tiff.html b/html/man/TIFFReadScanline.3tiff.html
deleted file mode 100644
index 11d60c45..00000000
--- a/html/man/TIFFReadScanline.3tiff.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadScanline</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadScanline</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadScanline &minus; read and decode a scanline of
-data from an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFReadScanline(TIFF *</b><i>tif</i><b>,
-tdata_t</b> <i>buf</i><b>, uint32_t</b> <i>row</i><b>,
-tsample_t</b> <i>sample</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Read the data for the specified row into the (user
-supplied) data buffer <i>buf</i>. The data are returned
-decompressed and, in the native byte- and bit-ordering, but
-are otherwise packed (see further below). The buffer must be
-large enough to hold an entire scanline of data.
-Applications should call the routine <i>TIFFScanlineSize</i>
-to find out the size (in bytes) of a scanline buffer. The
-<i>row</i> parameter is always used by
-<i>TIFFReadScanline</i>; the <i>sample</i> parameter is used
-only if data are organized in separate planes
-(<i>PlanarConfiguration</i>=2).</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The library attempts to hide bit- and byte-ordering
-differences between the image and the native machine by
-converting data to the native machine order. Bit reversal is
-done if the <i>FillOrder</i> tag is opposite to the native
-machine bit order. 16- and 32-bit samples are automatically
-byte-swapped if the file was written with a byte order
-opposite to the native machine byte order,</p>
-<!-- INDENTATION -->
-<p>In C++ the <i>sample</i> parameter defaults to 0.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFReadScanline</i> returns &minus;1 if it detects an
-error; otherwise 1 is returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>Compression algorithm does not support random
-access</b>. Data was requested in a non-sequential order
-from a file that uses a compression algorithm and that has
-<i>RowsPerStrip</i> greater than one. That is, data in the
-image is stored in a compressed form, and with multiple rows
-packed into a strip. In this case, the library does not
-support random access to the data. The data should either be
-accessed sequentially, or the file should be converted so
-that each strip is made up of one row of data.</p>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Reading subsampled YCbCR data does not work correctly
-because, for <i>PlanarConfiguration</i>=2 the size of a
-scanline is not calculated on a per-sample basis, and for
-<i>PlanarConfiguration</i>=1 the library does not unpack the
-block-interleaved samples; use the strip- and tile-based
-interfaces to read these formats.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFReadEncodedStrip</b>(3TIFF),
-<b>TIFFReadRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFReadTile.3tiff.html b/html/man/TIFFReadTile.3tiff.html
deleted file mode 100644
index 11db5ed6..00000000
--- a/html/man/TIFFReadTile.3tiff.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFReadTile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFReadTile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadTile &minus; read and decode a tile of data from
-an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFReadTile(TIFF *</b><i>tif</i><b>,
-tdata_t</b> <i>buf</i><b>, uint32_t</b> <i>x</i><b>,
-uint32_t</b> <i>y</i><b>, uint32_t</b> <i>z</i><b>,
-tsample_t</b> <i>sample</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Return the data for the tile <i>containing</i> the
-specified coordinates. The data placed in <i>buf</i> are
-returned decompressed and, typically, in the native byte-
-and bit-ordering, but are otherwise packed (see further
-below). The buffer must be large enough to hold an entire
-tile of data. Applications should call the routine
-<i>TIFFTileSize</i> to find out the size (in bytes) of a
-tile buffer. The <i>x</i> and <i>y</i> parameters are always
-used by <i>TIFFReadTile</i>. The <i>z</i> parameter is used
-if the image is deeper than 1 slice
-(<i>ImageDepth</i>&gt;1). The <i>sample</i> parameter is
-used only if data are organized in separate planes
-(<i>PlanarConfiguration</i>=2).</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The library attempts to hide bit- and byte-ordering
-differences between the image and the native machine by
-converting data to the native machine order. Bit reversal is
-done if the <i>FillOrder</i> tag is opposite to the native
-machine bit order. 16- and 32-bit samples are automatically
-byte-swapped if the file was written with a byte order
-opposite to the native machine byte order,</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFReadTile</i> returns &minus;1 if it detects an
-error; otherwise the number of bytes in the decoded tile is
-returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFCheckTile</b>(3TIFF),
-<b>TIFFComputeTile</b>(3TIFF), <b>TIFFOpen</b>(3TIFF),
-<b>TIFFReadEncodedTile</b>(3TIFF),
-<b>TIFFReadRawTile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFSetDirectory.3tiff.html b/html/man/TIFFSetDirectory.3tiff.html
deleted file mode 100644
index be90c933..00000000
--- a/html/man/TIFFSetDirectory.3tiff.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFSetDirectory</title>
-</head>
-<body>
-
-<h1 align=center>TIFFSetDirectory</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFSetDirectory, TIFFSetSubDirectory &minus; set the
-current directory for an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFSetDirectory(TIFF *</b><i>tif</i><b>,
-tdir_t</b> <i>dirnum</i><b>)<br>
-int TIFFSetSubDirectory(TIFF *</b><i>tif</i><b>, uint32_t</b>
-<i>diroff</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFSetDirectory</i> changes the current directory and
-reads its contents with <i>TIFFReadDirectory</i>. The
-parameter <i>dirnum</i> specifies the subfile/directory as
-an integer number, with the first directory numbered
-zero.</p>
-<!-- INDENTATION -->
-<p><i>TIFFSetSubDirectory</i> acts like
-<i>TIFFSetDirectory</i>, except the directory is specified
-as a file offset instead of an index; this is required for
-accessing subdirectories linked through a <i>SubIFD</i>
-tag.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>On successful return 1 is returned. Otherwise, 0 is
-returned if <i>dirnum</i> or <i>diroff</i> specifies a
-non-existent directory, or if an error was encountered while
-reading the directory&rsquo;s contents.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>%s: Error fetching directory count</b>. An error was
-encountered while reading the &lsquo;&lsquo;directory
-count&rsquo;&rsquo; field.</p>
-<!-- INDENTATION -->
-<p><b>%s: Error fetching directory link</b>. An error was
-encountered while reading the &lsquo;&lsquo;link
-value&rsquo;&rsquo; that points to the next directory in a
-file.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFCurrentDirectory</i>(3TIFF),
-<i>TIFFOpen</i>(3TIFF), <i>TIFFReadDirectory</i>(3TIFF),
-<i>TIFFWriteDirectory</i>(3TIFF), <i>libtiff</i>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWarning.3tiff.html b/html/man/TIFFWarning.3tiff.html
deleted file mode 100644
index 856cd40b..00000000
--- a/html/man/TIFFWarning.3tiff.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWarning</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWarning</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFWarning, TIFFSetWarningHandler &minus; library
-warning interface</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>void TIFFWarning(const char *</b><i>module</i><b>,
-const char *</b><i>fmt</i><b>,</b> <i>...</i><b>)</b></p>
-<!-- INDENTATION -->
-<p><b>#include &lt;stdarg.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>typedef void (*TIFFWarningHandler)(const char
-*</b><i>module</i><b>, const char *</b><i>fmt</i><b>,
-va_list</b> <i>ap</i><b>);</b></p>
-<!-- INDENTATION -->
-<p><b>TIFFWarningHandler
-TIFFSetWarningHandler(TIFFWarningHandler</b>
-<i>handler</i><b>);</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFWarning</i> invokes the library-wide warning
-handler function to (normally) write a warning message to
-the <b>stderr</b>. The <i>fmt</i> parameter is a
-<i>printf</i>(3S) format string, and any number arguments
-can be supplied. The <i>module</i> parameter is interpreted
-as a string that, if non-zero, should be printed before the
-message; it typically is used to identify the software
-module in which a warning is detected.</p>
-<!-- INDENTATION -->
-<p>Applications that desire to capture control in the event
-of a warning should use <i>TIFFSetWarningHandler</i> to
-override the default warning handler. A <small>NULL</small>
-(0) warning handler function may be installed to suppress
-error messages.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFSetWarningHandler</i> returns a reference to the
-previous error handling function.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFError</b>(3TIFF), <b>libtiff</b>(3TIFF),
-<b>printf</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteDirectory.3tiff.html b/html/man/TIFFWriteDirectory.3tiff.html
deleted file mode 100644
index 6483aa6a..00000000
--- a/html/man/TIFFWriteDirectory.3tiff.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteDirectory</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteDirectory</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFWriteDirectory, TIFFRewriteDirectory,
-TIFFCheckpointDirectory &minus; write the current directory
-in an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFWriteDirectory(TIFF *</b><i>tif</i><b>)<br>
-int TIFFRewriteDirectory(TIFF *</b><i>tif</i><b>)<br>
-int TIFFCheckpointDirectory(TIFF *</b><i>tif</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFWriteDirectory</i> will write the contents of the
-current directory to the file and setup to create a new
-subfile in the same file. Applications only need to call
-<i>TIFFWriteDirectory</i> when writing multiple subfiles to
-a single <small>TIFF</small> file. <i>TIFFWriteDirectory</i>
-is automatically called by <i>TIFFClose</i> and
-<i>TIFFFlush</i> to write a modified directory if the file
-is open for writing.</p>
-<!-- INDENTATION -->
-<p>The <i>TIFFRewriteDirectory</i> function operates
-similarly to <i>TIFFWriteDirectory,</i> but can be called
-with directories previously read or written that already
-have an established location in the file. It will rewrite
-the directory, but instead of place it at it&rsquo;s old
-location (as <i>TIFFWriteDirectory</i> would) it will place
-them at the end of the file, correcting the pointer from the
-preceding directory or file header to point to it&rsquo;s
-new location. This is particularly important in cases where
-the size of the directory and pointed to data has grown, so
-it won&rsquo;t fit in the space available at the old
-location.</p>
-<!-- INDENTATION -->
-<p>The <i>TIFFCheckpointDirectory</i> writes the current
-state of the tiff directory into the file to make what is
-currently in the file readable. Unlike
-<i>TIFFWriteDirectory, TIFFCheckpointDirectory</i> does not
-free up the directory data structures in memory, so they can
-be updated (as strips/tiles are written) and written again.
-Reading such a partial file you will at worst get a tiff
-read error for the first strip/tile encountered that is
-incomplete, but you will at least get all the valid data in
-the file before that. When the file is complete, just use
-<i>TIFFWriteDirectory</i> as usual to finish it off
-cleanly.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>1 is returned when the contents are successfully written
-to the file. Otherwise, 0 is returned if an error was
-encountered when writing the directory contents.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>Error post-encoding before directory write</b>. Before
-writing the contents of the current directory, any pending
-data are flushed. This message indicates that an error
-occurred while doing this.</p>
-<!-- INDENTATION -->
-<p><b>Error flushing data before directory write</b>. Before
-writing the contents of the current directory, any pending
-data are flushed. This message indicates that an error
-occurred while doing this.</p>
-<!-- INDENTATION -->
-<p><b>Cannot write directory, out of space</b>. There was
-not enough space to allocate a temporary area for the
-directory that was to be written.</p>
-<!-- INDENTATION -->
-<p><b>Error writing directory count</b>. A write error
-occurred when writing the count of fields in the
-directory.</p>
-<!-- INDENTATION -->
-<p><b>Error writing directory contents</b>. A write error
-occurred when writing the directory fields.</p>
-<!-- INDENTATION -->
-<p><b>Error writing directory link</b>. A write error
-occurred when writing the link to the next directory.</p>
-<!-- INDENTATION -->
-<p><b>Error writing data for field &quot;%s&quot;</b>. A
-write error occurred when writing indirect data for the
-specified field.</p>
-<!-- INDENTATION -->
-<p><b>Error writing TIFF header</b>. A write error occurred
-when re-writing header at the front of the file.</p>
-<!-- INDENTATION -->
-<p><b>Error fetching directory count</b>. A read error
-occurred when fetching the directory count field for a
-previous directory. This can occur when setting up a link to
-the directory that is being written.</p>
-<!-- INDENTATION -->
-<p><b>Error fetching directory link</b>. A read error
-occurred when fetching the directory link field for a
-previous directory. This can occur when setting up a link to
-the directory that is being written.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFError</b>(3TIFF),
-<b>TIFFReadDirectory</b>(3TIFF),
-<b>TIFFSetDirectory</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteEncodedStrip.3tiff.html b/html/man/TIFFWriteEncodedStrip.3tiff.html
deleted file mode 100644
index cf7a488f..00000000
--- a/html/man/TIFFWriteEncodedStrip.3tiff.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteEncodedStrip</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteEncodedStrip</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>TIFFWritedEncodedStrip &minus; compress and write a
-strip of data to an open</big> TIFF <big>file</big></p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>#include &lt;tiffio.h&gt;</b></big></p>
-<!-- INDENTATION -->
-<p><big><b>tsize_t TIFFWriteEncodedStrip(TIFF
-*</b><i>tif</i><b>, tstrip_t</b> <i>strip</i><b>,
-tdata_t</b> <i>buf</i><b>, tsize_t</b>
-<i>size</i><b>)</b></big></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>Compress <i>size</i> bytes of raw data from
-<i>buf</i> and write the result to the specified strip;
-replacing any previously written data. Note that the value
-of <i>strip</i> is a &lsquo;&lsquo;raw strip
-number.&rsquo;&rsquo; That is, the caller must take into
-account whether or not the data are organized in separate
-planes (<i>PlanarConfiguration</i>=2).</big></p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The library writes encoded data using the native
-machine byte order. Correctly implemented</big> TIFF
-<big>readers are expected to do any necessary byte-swapping
-to correctly process image data with BitsPerSample greater
-than 8.</big></p>
-<!-- INDENTATION -->
-<p><big>The strip number must be valid according to the
-current settings of the <i>ImageLength</i> and
-<i>RowsPerStrip</i> tags. An image may be dynamically grown
-by increasing the value of <i>ImageLength</i> prior to each
-call to <i>TIFFWriteEncodedStrip</i>.</big></p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>&minus;1 is returned if an error was encountered.
-Otherwise, the value of <i>size</i> is returned.</big></p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: File not open for writing</b>. The file was
-opened for reading, not writing.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Can not write scanlines to a tiled image</b>. The
-image is assumed to be organized in tiles because the
-<i>TileWidth</i> and <i>TileLength</i> tags have been set
-with <i>TIFFSetField</i>(3TIFF).</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: Must set &quot;ImageWidth&quot; before
-writing data</b>. The image&rsquo;s width has not be set
-before the first write. See <i>TIFFSetField</i>(3TIFF) for
-information on how to do this.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: Must set &quot;PlanarConfiguration&quot;
-before writing data</b>. The organization of data has not be
-defined before the first write. See
-<i>TIFFSetField</i>(3TIFF) for information on how to do
-this.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: No space for strip arrays&quot;</b>. There
-was not enough space for the arrays that hold strip offsets
-and byte counts.</big></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>TIFFOpen</b>(3TIFF),
-<b>TIFFWriteScanline</b>(3TIFF),
-<b>TIFFWriteRawStrip</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</big></p>
-<!-- INDENTATION -->
-<p><big>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></big></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteEncodedTile.3tiff.html b/html/man/TIFFWriteEncodedTile.3tiff.html
deleted file mode 100644
index 8cd44112..00000000
--- a/html/man/TIFFWriteEncodedTile.3tiff.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteEncodedTile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteEncodedTile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>TIFFWritedEncodedTile &minus; compress and write a
-tile of data to an open</big> TIFF <big>file</big></p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>#include &lt;tiffio.h&gt;</b></big></p>
-<!-- INDENTATION -->
-<p><big><b>tsize_t TIFFWriteEncodedTile(TIFF
-*</b><i>tif</i><b>, ttile_t</b> <i>tile</i><b>, tdata_t</b>
-<i>buf</i><b>, tsize_t</b> <i>size</i><b>)</b></big></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>Compress <i>size</i> bytes of raw data from
-<i>buf</i> and <b>append</b> the result to the end of the
-specified tile. Note that the value of <i>tile</i> is a
-&lsquo;&lsquo;raw tile number.&rsquo;&rsquo; That is, the
-caller must take into account whether or not the data are
-organized in separate places (<i>PlanarConfiguration</i>=2).
-<i>TIFFComputeTile</i> automatically does this when
-converting an (x,y,z,sample) coordinate quadruple to a tile
-number.</big></p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The library writes encoded data using the native
-machine byte order. Correctly implemented</big> TIFF
-<big>readers are expected to do any necessary byte-swapping
-to correctly process image data with BitsPerSample greater
-than 8.</big></p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>&minus;1 is returned if an error was encountered.
-Otherwise, the value of <i>size</i> is returned.</big></p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: File not open for writing</b>. The file was
-opened for reading, not writing.</big></p>
-<!-- INDENTATION -->
-<p><big><b>Can not write tiles to a stripped image</b>. The
-image is assumed to be organized in strips because neither
-of the <i>TileWidth</i> or <i>TileLength</i> tags have been
-set with <b>TIFFSetField</b>(3TIFF).</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: Must set &quot;ImageWidth&quot; before
-writing data</b>. The image&rsquo;s width has not be set
-before the first write. See <b>TIFFSetField</b>(3TIFF) for
-information on how to do this.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: Must set &quot;PlanarConfiguration&quot;
-before writing data</b>. The organization of data has not be
-defined before the first write. See
-<b>TIFFSetField</b>(3TIFF) for information on how to do
-this.</big></p>
-<!-- INDENTATION -->
-<p><big><b>%s: No space for tile arrays&quot;</b>. There was
-not enough space for the arrays that hold tile offsets and
-byte counts.</big></p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>TIFFOpen</b>(3TIFF), <b>TIFFWriteTile</b>(3TIFF),
-<b>TIFFWriteRawTile</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</big></p>
-<!-- INDENTATION -->
-<p><big>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></big></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteRawStrip.3tiff.html b/html/man/TIFFWriteRawStrip.3tiff.html
deleted file mode 100644
index 3379b8b0..00000000
--- a/html/man/TIFFWriteRawStrip.3tiff.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteRawstrip</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteRawstrip</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFWriteRawStrip &minus; write a strip of raw data to an
-open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFWriteRawStrip(TIFF *</b><i>tif</i><b>,
-tstrip_t</b> <i>strip</i><b>, tdata_t</b> <i>buf</i><b>,
-tsize_t</b> <i>size</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Append <i>size</i> bytes of raw data to the specified
-strip.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The strip number must be valid according to the current
-settings of the <i>ImageLength</i> and <i>RowsPerStrip</i>
-tags. An image may be dynamically grown by increasing the
-value of <i>ImageLength</i> prior to each call to
-<i>TIFFWriteRawStrip</i>.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>&minus;1 is returned if an error occurred. Otherwise, the
-value of <i>size</i> is returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>%s: File not open for writing</b>. The file was opened
-for reading, not writing.</p>
-<!-- INDENTATION -->
-<p><b>Can not write scanlines to a tiled image</b>. The
-image is assumed to be organized in tiles because the
-<i>TileWidth</i> and <i>TileLength</i> tags have been set
-with <b>TIFFSetField</b>(3TIFF).</p>
-<!-- INDENTATION -->
-<p><b>%s: Must set &quot;ImageWidth&quot; before writing
-data</b>. The image&rsquo;s width has not be set before the
-first write. See <b>TIFFSetField</b>(3TIFF) for information
-on how to do this.</p>
-<!-- INDENTATION -->
-<p><b>%s: Must set &quot;PlanarConfiguration&quot; before
-writing data</b>. The organization of data has not be
-defined before the first write. See
-<b>TIFFSetField</b>(3TIFF) for information on how to do
-this.</p>
-<!-- INDENTATION -->
-<p><b>%s: No space for strip arrays&quot;</b>. There was not
-enough space for the arrays that hold strip offsets and byte
-counts.</p>
-<!-- INDENTATION -->
-<p><b>%s: Strip %d out of range, max %d</b>. The specified
-strip is not a valid strip according to the currently
-specified image dimensions.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFWriteEncodedStrip</b>(3TIFF),
-<b>TIFFWriteScanline</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteRawTile.3tiff.html b/html/man/TIFFWriteRawTile.3tiff.html
deleted file mode 100644
index 92d64f0f..00000000
--- a/html/man/TIFFWriteRawTile.3tiff.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteRawtile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteRawtile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFWriteRawTile &minus; write a tile of raw data to an
-open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFWriteRawTile(TIFF *</b><i>tif</i><b>,
-ttile_t</b> <i>tile</i><b>, tdata_t</b> <i>buf</i><b>,
-tsize_t</b> <i>size</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Append <i>size</i> bytes of raw data to the specified
-tile.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>&minus;1 is returned if an error occurred. Otherwise, the
-value of <i>size</i> is returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>%s: File not open for writing</b>. The file was opened
-for reading, not writing.</p>
-<!-- INDENTATION -->
-<p><b>Can not write tiles to a stripped image</b>. The image
-is assumed to be organized in strips because neither of the
-<i>TileWidth</i> or <i>TileLength</i> tags have been set
-with <b>TIFFSetField</b>(3TIFF).</p>
-<!-- INDENTATION -->
-<p><b>%s: Must set &quot;ImageWidth&quot; before writing
-data</b>. The image&rsquo;s width has not be set before the
-first write. See <b>TIFFSetField</b>(3TIFF) for information
-on how to do this.</p>
-<!-- INDENTATION -->
-<p><b>%s: Must set &quot;PlanarConfiguration&quot; before
-writing data</b>. The organization of data has not be
-defined before the first write. See
-<b>TIFFSetField</b>(3TIFF) for information on how to do
-this.</p>
-<!-- INDENTATION -->
-<p><b>%s: No space for tile arrays&quot;</b>. There was not
-enough space for the arrays that hold tile offsets and byte
-counts.</p>
-<!-- INDENTATION -->
-<p><b>%s: Specified tile %d out of range, max %d</b>. The
-specified tile is not valid according to the currently
-specified image dimensions.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFWriteEncodedTile</b>(3TIFF),
-<b>TIFFWriteScanline</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteScanline.3tiff.html b/html/man/TIFFWriteScanline.3tiff.html
deleted file mode 100644
index 7b5dfea7..00000000
--- a/html/man/TIFFWriteScanline.3tiff.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteScanline</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteScanline</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFWriteScanline &minus; write a scanline to an open
-<small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFWriteScanline(TIFF *</b><i>tif</i><b>,
-tdata_t</b> <i>buf</i><b>, uint32_t</b> <i>row</i><b>,
-tsample_t</b> <i>sample</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Write data to a file at the specified row. The
-<i>sample</i> parameter is used only if data are organized
-in separate planes (<i>PlanarConfiguration</i>=2). The data
-are assumed to be uncompressed and in the native bit- and
-byte-order of the host machine. The data written to the file
-is compressed according to the compression scheme of the
-current <small>TIFF</small> directory (see further below).
-If the current scanline is past the end of the current
-subfile, the <i>ImageLength</i> field is automatically
-increased to include the scanline (except for
-<i>PlanarConfiguration</i>=2, where the <i>ImageLength</i>
-cannot be changed once the first data are written). If the
-<i>ImageLength</i> is increased, the <i>StripOffsets</i> and
-<i>StripByteCounts</i> fields are similarly enlarged to
-reflect data written past the previous end of image.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The library writes encoded data using the native machine
-byte order. Correctly implemented <small>TIFF</small>
-readers are expected to do any necessary byte-swapping to
-correctly process image data with BitsPerSample greater than
-8. The library attempts to hide bit-ordering differences
-between the image and the native machine by converting data
-from the native machine order.</p>
-<!-- INDENTATION -->
-<p>In C++ the <i>sample</i> parameter defaults to 0.</p>
-<!-- INDENTATION -->
-<p>Once data are written to a file for the current
-directory, the values of certain tags may not be altered;
-see <i>TIFFSetField</i>(3TIFF) for more information.</p>
-<!-- INDENTATION -->
-<p>It is not possible to write scanlines to a file that uses
-a tiled organization. The routine <i>TIFFIsTiled</i> can be
-used to determine if the file is organized as tiles or
-strips.</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFWriteScanline</i> returns &minus;1 if it
-immediately detects an error and 1 for a successful
-write.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<i>TIFFError</i>(3TIFF) routine.</p>
-<!-- INDENTATION -->
-<p><b>%s: File not open for writing .</b> The file was
-opened for reading, not writing.</p>
-<!-- INDENTATION -->
-<p><b>Can not write scanlines to a tiled image</b>. An
-attempt was made to write a scanline to a tiled image. The
-image is assumed to be organized in tiles because the
-<i>TileWidth</i> and <i>TileLength</i> tags have been set
-with <i>TIFFSetField</i>(3TIFF).</p>
-<!-- INDENTATION -->
-<p><b>Compression algorithm does not support random
-access</b>. Data was written in a non-sequential order to a
-file that uses a compression algorithm and that has
-<i>RowsPerStrip</i> greater than one. That is, data in the
-image is to be stored in a compressed form, and with
-multiple rows packed into a strip. In this case, the library
-does not support random access to the data. The data should
-either be written as entire strips, sequentially by rows, or
-the value of <i>RowsPerStrip</i> should be set to one.</p>
-<!-- INDENTATION -->
-<p><b>%s: Must set &quot;ImageWidth&quot; before writing
-data</b>. The image&rsquo;s width has not be set before the
-first write. See <b>TIFFSetField</b>(3TIFF) for information
-on how to do this.</p>
-<!-- INDENTATION -->
-<p><b>%s: Must set &quot;PlanarConfiguration&quot; before
-writing data</b>. The organization of data has not be
-defined before the first write. See
-<b>TIFFSetField</b>(3TIFF) for information on how to do
-this.</p>
-<!-- INDENTATION -->
-<p><b>Can not change &quot;ImageLength&quot; when using
-separate planes</b>. Separate image planes are being used
-(<i>PlanarConfiguration</i>=2), but the number of rows has
-not been specified before the first write. The library
-supports the dynamic growth of an image only when data are
-organized in a contiguous manner
-(<i>PlanarConfiguration</i>=1).</p>
-<!-- INDENTATION -->
-<p><b>%d: Sample out of range, max %d</b>. The <i>sample</i>
-parameter was greater than the value of the SamplesPerPixel
-tag.</p>
-<!-- INDENTATION -->
-<p><b>%s: No space for strip arrays .</b> There was not
-enough space for the arrays that hold strip offsets and byte
-counts.</p>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Writing subsampled YCbCR data does not work correctly
-because, for <i>PlanarConfiguration</i>=2 the size of a
-scanline is not calculated on a per-sample basis, and for
-<i>PlanarConfiguration</i>=1 the library does not pack the
-block-interleaved samples.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF),
-<b>TIFFWriteEncodedStrip</b>(3TIFF),
-<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFWriteTile.3tiff.html b/html/man/TIFFWriteTile.3tiff.html
deleted file mode 100644
index d4f520b6..00000000
--- a/html/man/TIFFWriteTile.3tiff.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFWriteTile</title>
-</head>
-<body>
-
-<h1 align=center>TIFFWriteTile</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#RETURN VALUES">RETURN VALUES</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFWriteTile &minus; encode and write a tile of data to
-an open <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFWriteTile(TIFF *</b><i>tif</i><b>,
-tdata_t</b> <i>buf</i><b>, uint32_t</b> <i>x</i><b>,
-uint32_t</b> <i>y</i><b>, uint32_t</b> <i>z</i><b>,
-tsample_t</b> <i>sample</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Write the data for the tile <i>containing</i> the
-specified coordinates. The data in <i>buf</i> are is
-(potentially) compressed, and written to the indicated file,
-normally being appended to the end of the file. The buffer
-must be contain an entire tile of data. Applications should
-call the routine <i>TIFFTileSize</i> to find out the size
-(in bytes) of a tile buffer. The <i>x</i> and <i>y</i>
-parameters are always used by <i>TIFFWriteTile</i>. The
-<i>z</i> parameter is used if the image is deeper than 1
-slice (<i>ImageDepth</i>&gt;1). The <i>sample</i> parameter
-is used only if data are organized in separate planes
-(<i>PlanarConfiguration</i>=2).</p>
-</td>
-</table>
-<a name="RETURN VALUES"></a>
-<h2>RETURN VALUES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFWriteTile</i> returns &minus;1 if it detects an
-error; otherwise the number of bytes in the tile is
-returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>All error messages are directed to the
-<b>TIFFError</b>(3TIFF) routine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFCheckTile</b>(3TIFF),
-<b>TIFFComputeTile</b>(3TIFF), <b>TIFFOpen</b>(3TIFF),
-<b>TIFFReadTile</b>(3TIFF), <b>TIFFWriteScanline</b>(3TIFF),
-<b>TIFFWriteEncodedTile</b>(3TIFF),
-<b>TIFFWriteRawTile</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFbuffer.3tiff.html b/html/man/TIFFbuffer.3tiff.html
deleted file mode 100644
index d96621d0..00000000
--- a/html/man/TIFFbuffer.3tiff.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:15 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFBUFFER</title>
-</head>
-<body>
-
-<h1 align=center>TIFFBUFFER</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFReadBufferSetup, TIFFWriteBufferSetup &minus; I/O
-buffering control routines</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<pre><b>#include &lt;tiffio.h&gt;
-
-int TIFFReadBufferSetup(TIFF *</b><i>tif</i><b>, tdata_t</b> <i>buffer</i><b>, tsize_t</b> <i>size</i><b>);
-int TIFFWriteBufferSetup(TIFF *</b><i>tif</i><b>, tdata_t</b> <i>buffer</i><b>, tsize_t</b> <i>size</i><b>);
-</b></pre>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following routines are provided for client-control of
-the I/O buffers used by the library. Applications need never
-use these routines; they are provided only for
-&lsquo;&lsquo;intelligent clients&rsquo;&rsquo; that wish to
-optimize memory usage and/or eliminate potential copy
-operations that can occur when working with images that have
-data stored without compression.</p>
-<!-- INDENTATION -->
-<p><i>TIFFReadBufferSetup</i> sets up the data buffer used
-to read raw (encoded) data from a file. If the specified
-pointer is <small>NULL</small> (zero), then a buffer of the
-appropriate size is allocated. Otherwise the caller must
-guarantee that the buffer is large enough to hold any
-individual strip of raw data. <i>TIFFReadBufferSetup</i>
-returns a non-zero value if the setup was successful and
-zero otherwise.</p>
-<!-- INDENTATION -->
-<p><i>TIFFWriteBufferSetup</i> sets up the data buffer used
-to write raw (encoded) data to a file. If the specified
-<i>size</i> is &minus;1 then the buffer size is selected to
-hold a complete tile or strip, or at least 8 kilobytes,
-whichever is greater. If the specified <i>buffer</i> is
-<small>NULL</small> (zero), then a buffer of the appropriate
-size is dynamically allocated. <i>TIFFWriteBufferSetup</i>
-returns a non-zero value if the setup was successful and
-zero otherwise.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>%s: No space for data buffer at scanline %ld</b>.
-<i>TIFFReadBufferSetup</i> was unable to dynamically
-allocate space for a data buffer.</p>
-<!-- INDENTATION -->
-<p><b>%s: No space for output buffer</b>.
-<i>TIFFWriteBufferSetup</i> was unable to dynamically
-allocate space for a data buffer.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFcodec.3tiff.html b/html/man/TIFFcodec.3tiff.html
deleted file mode 100644
index e7a52460..00000000
--- a/html/man/TIFFcodec.3tiff.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>CODEC</title>
-</head>
-<body>
-
-<h1 align=center>CODEC</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFFindCODEC, TIFFRegisterCODEC, TIFFUnRegisterCODEC,
-TIFFIsCODECConfigured &minus; codec-related utility
-routines</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>const TIFFCodec* TIFFFindCODEC(uint16_t</b>
-<i>scheme</i><b>);<br>
-TIFFCodec* TIFFRegisterCODEC(uint16_t</b> <i>scheme</i><b>,
-const char *</b><i>method</i><b>, TIFFInitMethod</b>
-<i>init</i><b>);<br>
-void TIFFUnRegisterCODEC(TIFFCodec
-*</b><i>codec</i><b>);<br>
-int TIFFIsCODECConfigured(uint16_t</b>
-<i>scheme</i><b>);</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>libtiff</i> supports a variety of compression schemes
-implemented by software <i>codecs</i>. Each codec adheres to
-a modular interface that provides for the decoding and
-encoding of image data; as well as some other methods for
-initialization, setup, cleanup, and the control of default
-strip and tile sizes. Codecs are identified by the
-associated value of the <small>TIFF</small>
-<i>Compression</i> tag; e.g. 5 for <small>LZW</small>
-compression.</p>
-<!-- INDENTATION -->
-<p>The <i>TIFFRegisterCODEC</i> routine can be used to
-augment or override the set of codecs available to an
-application. If the specified <i>scheme</i> already has a
-registered codec then it is <i>overridden</i> and any images
-with data encoded with this compression scheme will be
-decoded using the supplied coded.</p>
-<!-- INDENTATION -->
-<p><i>TIFFIsCODECConfigured</i> returns 1 if the codec is
-configured and working. Otherwise 0 will be returned.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>No space to register compression scheme %s</b>.
-<i>TIFFRegisterCODEC</i> was unable to allocate memory for
-the data structures needed to register a codec.</p>
-<!-- INDENTATION -->
-<p><b>Cannot remove compression scheme %s; not
-registered</b>. <i>TIFFUnRegisterCODEC</i> did not locate
-the specified codec in the table of registered compression
-schemes.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFcolor.3tiff.html b/html/man/TIFFcolor.3tiff.html
deleted file mode 100644
index d4c5a58a..00000000
--- a/html/man/TIFFcolor.3tiff.html
+++ /dev/null
@@ -1,975 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>COLOR</title>
-</head>
-<body>
-
-<h1 align=center>COLOR</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFYCbCrToRGBInit, TIFFYCbCrtoRGB, TIFFCIELabToRGBInit,
-TIFFCIELabToXYZ, TIFFXYZToRGB &minus; color conversion
-routines.</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB
-*</b><i>ycbcr</i><b>, float *</b><i>luma</i><b>, float
-*</b><i>refBlackWhite&quot;</i><b>);&quot;<br>
-void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *</b><i>ycbcr</i><b>,
-uint32_t</b> <i>Y</i><b>, int32_t</b> <i>Cb</i><b>, int32_t</b>
-<i>Cr</i><b>, uint32_t *</b><i>R</i><b>, uint32_t
-*</b><i>G</i><b>, uint32_t *</b><i>B</i> <b>);</b></p>
-<!-- INDENTATION -->
-<p><b>int TIFFCIELabToRGBInit(TIFFCIELabToRGB
-*</b><i>cielab</i><b>, TIFFDisplay *</b><i>display</i><b>,
-float *</b><i>refWhite</i><b>);<br>
-void TIFFCIELabToXYZ(TIFFCIELabToRGB *</b><i>cielab</i><b>,
-uint32_t</b> <i>L</i><b>, int32_t</b> <i>a</i><b>, int32_t</b>
-<i>b</i><b>, float *</b><i>X</i><b>, float *</b><i>Y</i><b>,
-float *</b><i>Z</i><b>);<br>
-void TIFFXYZToRGB(TIFFCIELabToRGB *</b><i>cielab</i><b>,
-float</b> <i>X</i><b>, float</b> <i>Y</i><b>, float</b>
-<i>Z&quot;</i><b>,</b><i>uint32_t</i><b>*&quot;</b><i>R</i><b>,
-uint32_t *</b><i>G</i><b>, uint32_t *</b><i>B</i><b>);</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFF supports several color spaces for images stored in
-that format. There is usually a problem of application to
-handle the data properly and convert between different
-colorspaces for displaying and printing purposes. To
-simplify this task libtiff implements several color
-conversion routines itself. In particular, these routines
-used in <b>TIFFRGBAImage(3TIFF)</b> interface.</p>
-<!-- INDENTATION -->
-<p><b>TIFFYCbCrToRGBInit()</b> used to initialize
-<i>YCbCr</i> to <i>RGB</i> conversion state. Allocating and
-freeing of the <i>ycbcr</i> structure belongs to programmer.
-<i>TIFFYCbCrToRGB</i> defined in <b>tiffio.h</b> as</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>typedef struct { /* YCbCr-&gt;RGB support */
- TIFFRGBValue* clamptab; /* range clamping table */
-</pre>
-</td>
-</table>
-<!-- TABS -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-
-<p>int*</p>
-<td width="28%"></td>
-<td width="-3%"></td>
-<td width="12%"></td>
-<td width="6%">
-
-<p>Cr_r_tab;<br>
-int*</p>
-</td>
-<td width="56%">
-</td>
-<tr valign="top" align="left">
-<td width="28%"></td>
-<td width="-3%"></td>
-<td width="12%"></td>
-<td width="6%">
-
-<p>Cb_b_tab;<br>
-int32_t*</p>
-</td>
-<td width="56%">
-</td>
-<tr valign="top" align="left">
-<td width="28%"></td>
-<td width="-3%"></td>
-<td width="12%"></td>
-<td width="6%">
-
-<p>Cr_g_tab;<br>
-int32_t*</p>
-</td>
-<td width="56%">
-</td>
-<tr valign="top" align="left">
-<td width="28%"></td>
-<td width="-3%"></td>
-<td width="12%"></td>
-<td width="6%">
-
-<p>Cb_g_tab;</p>
-</td>
-<td width="56%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>int32_t* Y_tab;<br>
-} TIFFYCbCrToRGB;</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>luma</i> is a float array of three values representing
-proportions of the red, green and blue in luminance, Y (see
-section 21 of the TIFF 6.0 specification, where the YCbCr
-images discussed). <i>TIFFTAG_YCBCRCOEFFICIENTS</i> holds
-that values in TIFF file. <i>refBlackWhite</i> is a float
-array of 6 values which specifies a pair of headroom and
-footroom image data values (codes) for each image component
-(see section 20 of the TIFF 6.0 specification where the
-colorinmetry fields discussed).
-<i>TIFFTAG_REFERENCEBLACKWHITE</i> is responsible for
-storing these values in TIFF file. Following code snippet
-should helps to understand the the technique:</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>float *luma, *refBlackWhite;
-uint16_t hs, vs;
-
-/* Initialize structures */
-ycbcr = (TIFFYCbCrToRGB*)
-</pre>
-</td>
-</table>
-<!-- TABS -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>_TIFFmalloc(TIFFroundup(sizeof(TIFFYCbCrToRGB),
-sizeof(long))</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>+ 4*256*sizeof(TIFFRGBValue)</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>+ 2*256*sizeof(int)</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>+ 3*256*sizeof(int32_t));</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>if (ycbcr == NULL) {<br>
-TIFFError(&quot;YCbCr-&gt;RGB&quot;,</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>&quot;No space for YCbCr-&gt;RGB conversion
-state&quot;);</p>
-</td>
-<td width="62%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>exit(0);<br>
-}</p>
-<!-- INDENTATION -->
-<p>TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRCOEFFICIENTS,
-&amp;luma);<br>
-TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE,
-&amp;refBlackWhite);<br>
-if (TIFFYCbCrToRGBInit(ycbcr, luma, refBlackWhite) &lt;
-0)</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>exit(0);</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>/* Start conversion */<br>
-uint32_t r, g, b;<br>
-uint32_t Y;<br>
-int32_t Cb, Cr;</p>
-<!-- INDENTATION -->
-<p>for each pixel in image</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>TIFFYCbCrtoRGB(img-&gt;ycbcr, Y, Cb, Cr, &amp;r, &amp;g,
-&amp;b);</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>/* Free state structure */<br>
-_TIFFfree(ycbcr);</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFCIELabToRGBInit()</b> initializes the <i>CIE
-L*a*b* 1976</i> to <i>RGB</i> conversion state.
-<b>TIFFCIELabToRGB</b> defined as</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>#define CIELABTORGB_TABLE_RANGE 1500
-
-</pre>
-</td>
-</table>
-<!-- TABS -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="9" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-
-<p>typedef struct {</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>/* CIE Lab 1976-&gt;RGB support */</p>
-</td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>int</p>
-</td>
-<td width="6%">
-
-<p>range;</p>
-</td>
-<td width="6%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>/* Size of conversion table */</p>
-</td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>float</p>
-</td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>rstep, gstep, bstep;</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>float</p>
-</td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>X0, Y0, Z0;</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>/* Reference white point */</p>
-</td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>TIFFDisplay display;</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>float</p>
-</td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr
-to r */</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>float</p>
-</td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg
-to g */</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>float</p>
-</td>
-<td width="6%"></td>
-<td width="6%">
-
-<p>Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb
-to b */</p>
-</td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="6%"></td>
-<td width="37%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>} TIFFCIELabToRGB;</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>display</i> is a display device description, declared
-as</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>typedef struct {
-</pre>
-</td>
-</table>
-<!-- TABS -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_mat[3][3]; /* XYZ -&gt; luminance matrix */</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_YCR; /* Light o/p for reference white */</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_YCG;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_YCB;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>uint32_t d_Vrwr; /* Pixel values for ref. white */</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>uint32_t d_Vrwg;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>uint32_t d_Vrwb;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_Y0R; /* Residual light for black pixel */</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_Y0G;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_Y0B;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_gammaR; /* Gamma values for the three guns
-*/</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_gammaG;</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>float d_gammaB;</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>} TIFFDisplay;</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>For example, the one can use sRGB device, which has the
-following parameters:</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>TIFFDisplay display_sRGB = {
-</pre>
-</td>
-</table>
-<!-- TABS -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>{ /* XYZ -&gt; luminance matrix */</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>{ 3.2410F, -1.5374F, -0.4986F },</p>
-</td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>{ -0.9692F, 1.8760F, 0.0416F },</p>
-</td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>{ 0.0556F, -0.2040F, 1.0570F }</p>
-</td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>},</p>
-</td>
-<td width="6%">
-</td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>100.0F, 100.0F, 100.0F, /* Light o/p for reference white
-*/</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>255, 255, 255, /* Pixel values for ref. white */</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>1.0F, 1.0F, 1.0F, /* Residual light o/p for black pixel
-*/</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>2.4F, 2.4F, 2.4F, /* Gamma values for the three guns
-*/</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>};</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>refWhite</i> is a color temperature of the reference
-white. The <i>TIFFTAG_WHITEPOINT</i> contains the
-chromaticity of the white point of the image from where the
-reference white can be calculated using following
-formulae:</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>refWhite_Y = 100.0<br>
-refWhite_X = whitePoint_x / whitePoint_y * refWhite_Y<br>
-refWhite_Z = (1.0 - whitePoint_x - whitePoint_y) /
-whitePoint_y * refWhite_X</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The conversion itself performed in two steps: at the
-first one we will convert <i>CIE L*a*b* 1976</i> to <i>CIE
-XYZ</i> using <b>TIFFCIELabToXYZ()</b> routine, and at the
-second step we will convert <i>CIE XYZ</i> to <i>RGB</i>
-using <b>TIFFXYZToRGB().</b> Look at the code sample
-below:</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>float *whitePoint;
-float refWhite[3];
-
-/* Initialize structures */
-img-&gt;cielab = (TIFFCIELabToRGB *)
-</pre>
-</td>
-</table>
-<!-- TABS -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>_TIFFmalloc(sizeof(TIFFCIELabToRGB));</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>if (!cielab) {</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>TIFFError(&quot;CIE L*a*b*-&gt;RGB&quot;,</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>&quot;No space for CIE L*a*b*-&gt;RGB conversion
-state.&quot;);</p>
-</td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>exit(0);</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>}</p>
-<!-- INDENTATION -->
-<p>TIFFGetFieldDefaulted(tif, TIFFTAG_WHITEPOINT,
-&amp;whitePoint);<br>
-refWhite[1] = 100.0F;<br>
-refWhite[0] = whitePoint[0] / whitePoint[1] *
-refWhite[1];<br>
-refWhite[2] = (1.0F - whitePoint[0] -
-whitePoint[1])</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>/ whitePoint[1] * refWhite[1];</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>if (TIFFCIELabToRGBInit(cielab, &amp;display_sRGB,
-refWhite) &lt; 0) {</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>TIFFError(&quot;CIE L*a*b*-&gt;RGB&quot;,</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-</td>
-<td width="6%">
-
-<p>&quot;Failed to initialize CIE L*a*b*-&gt;RGB conversion
-state.&quot;);</p>
-</td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>_TIFFfree(cielab);</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="0%"></td>
-<td width="6%">
-
-<p>exit(0);</p>
-</td>
-<td width="6%"></td>
-<td width="62%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>}</p>
-<!-- INDENTATION -->
-<p>/* Now we can start to convert */<br>
-uint32_t r, g, b;<br>
-uint32_t L;<br>
-int32_t a, b;<br>
-float X, Y, Z;</p>
-<!-- INDENTATION -->
-<p>for each pixel in image</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>TIFFCIELabToXYZ(cielab, L, a, b, &amp;X, &amp;Y,
-&amp;Z);</p>
-</td>
-<tr valign="top" align="left">
-<td width="24%"></td>
-<td width="75%">
-
-<p>TIFFXYZToRGB(cielab, X, Y, Z, &amp;r, &amp;g,
-&amp;b);</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>/* Don&rsquo;t forget to free the state structure */<br>
-_TIFFfree(cielab);</p></td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFRGBAImage</b>(3TIFF) <b>libtiff</b>(3TIFF),</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFmemory.3tiff.html b/html/man/TIFFmemory.3tiff.html
deleted file mode 100644
index 283be9bd..00000000
--- a/html/man/TIFFmemory.3tiff.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>MEMORY</title>
-</head>
-<body>
-
-<h1 align=center>MEMORY</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>_TIFFmalloc, _TIFFrealloc, _TIFFfree, _TIFFmemset,
-_TIFFmemcpy, _TIFFmemcmp, &minus; memory management-related
-functions for use with <small>TIFF</small> files</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tdata_t _TIFFmalloc(tsize_t</b> <i>size</i><b>);<br>
-tdata_t _TIFFrealloc(tdata_t</b> <i>buffer</i><b>,
-tsize_t</b> <i>size</i><b>);<br>
-void _TIFFfree(tdata_t</b> <i>buffer</i><b>);<br>
-void _TIFFmemset(tdata_t</b> <i>s</i><b>, int</b>
-<i>c</i><b>, tsize_t</b> <i>n</i><b>);<br>
-void _TIFFmemcpy(tdata_t</b> <i>dest</i><b>, const
-tdata_t</b> <i>src</i><b>, tsize_t</b> <i>n</i><b>);<br>
-int _TIFFmemcmp(const tdata_t</b> <i>s1</i><b>, const
-tdata_t</b> <i>s2</i><b>, tsize_t</b> <i>n</i><b>);</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>These routines are provided for writing portable software
-that uses <i>libtiff</i>; they hide any memory-management
-related issues, such as dealing with segmented architectures
-found on 16-bit machines.</p>
-<!-- INDENTATION -->
-<p><i>_TIFFmalloc</i> and <i>_TIFFrealloc</i> are used to
-dynamically allocate and reallocate memory used by
-<i>libtiff</i>; such as memory passed into the I/O routines.
-Memory allocated through these interfaces is released back
-to the system using the <i>_TIFFfree</i> routine.</p>
-<!-- INDENTATION -->
-<p>Memory allocated through one of the above interfaces can
-be set to a known value using <i>_TIFFmemset</i>, copied to
-another memory location using <i>_TIFFmemcpy</i>, or
-compared for equality using <i>_TIFFmemcmp</i>. These
-routines conform to the equivalent <small>ANSI</small> C
-routines: <i>memset</i>, <i>memcpy</i>, and <i>memcmp</i>,
-respectively.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>malloc</b>(3), <b>memory</b>(3),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFquery.3tiff.html b/html/man/TIFFquery.3tiff.html
deleted file mode 100644
index 9fabecca..00000000
--- a/html/man/TIFFquery.3tiff.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:16 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>QUERY</title>
-</head>
-<body>
-
-<h1 align=center>QUERY</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFCurrentRow, TIFFCurrentStrip, TIFFCurrentTile,
-TIFFCurrentDirectory, TIFFLastDirectory, TIFFFileno,
-TIFFFileName, TIFFGetMode, TIFFIsTiled, TIFFIsByteSwapped,
-TIFFIsUpSampled, TIFFIsMSB2LSB, TIFFGetVersion &minus; query
-routines</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>uint32_t TIFFCurrentRow(TIFF*</b> <i>tif</i><b>)<br>
-tstrip_t TIFFCurrentStrip(TIFF*</b> <i>tif</i><b>)<br>
-ttile_t TIFFCurrentTile(TIFF*</b> <i>tif</i><b>)<br>
-tdir_t TIFFCurrentDirectory(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFLastDirectory(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFFileno(TIFF*</b> <i>tif</i><b>)<br>
-char* TIFFFileName(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFGetMode(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFIsTiled(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFIsByteSwapped(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFIsUpSampled(TIFF*</b> <i>tif</i><b>)<br>
-int TIFFIsMSB2LSB(TIFF*</b> <i>tif</i><b>)<br>
-const char* TIFFGetVersion(void)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following routines return status information about an
-open <small>TIFF</small> file.</p>
-<!-- INDENTATION -->
-<p><i>TIFFCurrentDirectory</i> returns the index of the
-current directory (directories are numbered starting at 0).
-This number is suitable for use with the
-<i>TIFFSetDirectory</i> routine.</p>
-<!-- INDENTATION -->
-<p><i>TIFFLastDirectory</i> returns a non-zero value if the
-current directory is the last directory in the file;
-otherwise zero is returned.</p>
-<!-- INDENTATION -->
-<p><i>TIFFCurrentRow</i>, <i>TIFFCurrentStrip</i>, and
-<i>TIFFCurrentTile</i>, return the current row, strip, and
-tile, respectively, that is being read or written. These
-values are updated each time a read or write is done.</p>
-<!-- INDENTATION -->
-<p><i>TIFFFileno</i> returns the underlying file descriptor
-used to access the <small>TIFF</small> image in the
-filesystem.</p>
-<!-- INDENTATION -->
-<p><i>TIFFFileName</i> returns the pathname argument passed
-to <i>TIFFOpen</i> or <i>TIFFFdOpen</i>.</p>
-<!-- INDENTATION -->
-<p><i>TIFFGetMode</i> returns the mode with which the
-underlying file was opened. On <small>UNIX</small> systems,
-this is the value passed to the <i>open</i>(2) system
-call.</p>
-<!-- INDENTATION -->
-<p><i>TIFFIsTiled</i> returns a non-zero value if the image
-data has a tiled organization. Zero is returned if the image
-data is organized in strips.</p>
-<!-- INDENTATION -->
-<p><i>TIFFIsByteSwapped</i> returns a non-zero value if the
-image data was in a different byte-order than the host
-machine. Zero is returned if the TIFF file and local host
-byte-orders are the same. Note that TIFFReadTile(),
-TIFFReadStrip() and TIFFReadScanline() functions already
-normally perform byte swapping to local host order if
-needed.</p>
-<!-- INDENTATION -->
-<p><i>TIFFIsUpSampled</i> returns a non-zero value if image
-data returned through the read interface routines is being
-up-sampled. This can be useful to applications that want to
-calculate I/O buffer sizes to reflect this usage (though the
-usual strip and tile size routines already do this).</p>
-<!-- INDENTATION -->
-<p><i>TIFFIsMSB2LSB</i> returns a non-zero value if the
-image data is being returned with bit 0 as the most
-significant bit.</p>
-<!-- INDENTATION -->
-<p><i>TIFFGetVersion</i> returns an <small>ASCII</small>
-string that has a version stamp for the <small>TIFF</small>
-library software.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>libtiff</i>(3TIFF), <i>TIFFOpen</i>(3TIFF),
-<i>TIFFFdOpen</i>(3TIFF)</p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFsize.3tiff.html b/html/man/TIFFsize.3tiff.html
deleted file mode 100644
index f2e2b772..00000000
--- a/html/man/TIFFsize.3tiff.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFSIZE</title>
-</head>
-<body>
-
-<h1 align=center>TIFFSIZE</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFScanlineSize, TIFFRasterScanlineSize, &minus; return
-the size of various items associated with an open
-<small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>tsize_t TIFFRasterScanlineSize(TIFF
-*</b><i>tif</i><b>)<br>
-tsize_t TIFFScanlineSize(TIFF *</b><i>tif</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFScanlineSize</i> returns the size in bytes of a
-row of data as it would be returned in a call to
-<i>TIFFReadScanline</i>, or as it would be expected in a
-call to <i>TIFFWriteScanline</i>.</p>
-<!-- INDENTATION -->
-<p><i>TIFFRasterScanlineSize</i> returns the size in bytes
-of a complete decoded and packed raster scanline. Note that
-this value may be different from the value returned by
-<i>TIFFScanlineSize</i> if data is stored as separate
-planes.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFOpen</b>(3TIFF), <b>TIFFReadScanline</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFstrip.3tiff.html b/html/man/TIFFstrip.3tiff.html
deleted file mode 100644
index 80cdc748..00000000
--- a/html/man/TIFFstrip.3tiff.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:17 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFSTRIP</title>
-</head>
-<body>
-
-<h1 align=center>TIFFSTRIP</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFDefaultStripSize, TIFFStripSize, TIFFVStripSize,
-TIFFRawStripSize, TIFFComputeStrip, TIFFNumberOfStrips
-&minus; strip-related utility routines</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>uint32_t TIFFDefaultStripSize(TIFF *</b><i>tif</i><b>,
-uint32_t</b> <i>estimate</i><b>)<br>
-tsize_t TIFFStripSize(TIFF *</b><i>tif</i><b>)<br>
-tsize_t TIFFVStripSize(TIFF *</b><i>tif</i><b>, uint32_t</b>
-<i>nrows</i><b>)<br>
-tsize_t TIFFRawStripSize(TIFF *</b><i>tif</i><b>,
-tstrip_t</b> <i>strip</i><b>)<br>
-tstrip_t TIFFComputeStrip(TIFF *</b><i>tif</i><b>,
-uint32_t</b> <i>row</i><b>, tsample_t</b>
-<i>sample</i><b>)<br>
-tstrip_t TIFFNumberOfStrips(TIFF *</b><i>tif</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFDefaultStripSize</i> returns the number of rows
-for a reasonable-sized strip according to the current
-settings of the <i>ImageWidth</i>, <i>BitsPerSample</i>,
-<i>SamplesPerPixel</i>, tags and any compression-specific
-requirements. If the <i>estimate</i> parameter, if non-zero,
-then it is taken as an estimate of the desired strip size
-and adjusted according to any compression-specific
-requirements. The value returned by this function is
-typically used to define the <i>RowsPerStrip</i> tag. In
-lieu of any unusual requirements <i>TIFFDefaultStripSize</i>
-tries to create strips that have approximately 8 kilobytes
-of uncompressed data.</p>
-<!-- INDENTATION -->
-<p><i>TIFFStripSize</i> returns the equivalent size for a
-strip of data as it would be returned in a call to
-<i>TIFFReadEncodedStrip</i> or as it would be expected in a
-call to <i>TIFFWriteEncodedStrip</i>.</p>
-<!-- INDENTATION -->
-<p><i>TIFFVStripSize</i> returns the number of bytes in a
-strip with <i>nrows</i> rows of data.</p>
-<!-- INDENTATION -->
-<p><i>TIFFRawStripSize</i> returns the number of bytes in a
-raw strip (i.e. not decoded).</p>
-<!-- INDENTATION -->
-<p><i>TIFFComputeStrip</i> returns the strip that contains
-the specified coordinates. A valid strip is always returned;
-out-of-range coordinate values are clamped to the bounds of
-the image. The <i>row</i> parameter is always used in
-calculating a strip. The <i>sample</i> parameter is used
-only if data are organized in separate planes
-(<i>PlanarConfiguration</i>=2).</p>
-<!-- INDENTATION -->
-<p><i>TIFFNumberOfStrips</i> returns the number of strips in
-the image.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFReadEncodedStrip</b>(3TIFF),
-<b>TIFFReadRawStrip</b>(3TIFF),
-<b>TIFFWriteEncodedStrip</b>(3TIFF),
-<b>TIFFWriteRawStrip</b>(3TIFF), <b>libtiff</b>(3TIFF),</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFswab.3tiff.html b/html/man/TIFFswab.3tiff.html
deleted file mode 100644
index dcbf6012..00000000
--- a/html/man/TIFFswab.3tiff.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>SWAB</title>
-</head>
-<body>
-
-<h1 align=center>SWAB</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFGetBitRevTable, TIFFReverseBits, TIFFSwabShort,
-TIFFSwabLong, TIFFSwabArrayOfShort, TIFFSwabArrayOfLong
-&minus; byte- and bit-swapping routines</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>const unsigned char* TIFFGetBitRevTable(int</b>
-<i>reversed</i><b>)<br>
-void TIFFReverseBits(u_char *</b><i>data</i><b>, unsigned
-long</b> <i>nbytes</i><b>)<br>
-void TIFFSwabShort(uint16_t *</b><i>data</i><b>)<br>
-void TIFFSwabLong(uint32_t *</b><i>data</i><b>)<br>
-void TIFFSwabArrayOfShort(uint16_t *</b><i>data</i><b>,
-unsigned long</b> <i>nshorts</i><b>)<br>
-void TIFFSwabArrayOfLong(uint32_t *</b><i>data</i><b>,
-unsigned long</b> <i>nlongs</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following routines are used by the library to swap
-16- and 32-bit data and to reverse the order of bits in
-bytes.</p>
-<!-- INDENTATION -->
-<p><i>TIFFSwabShort</i> and <i>TIFFSwabLong</i> swap the
-bytes in a single 16-bit and 32-bit item, respectively.
-<i>TIFFSwabArrayOfShort</i> and <i>TIFFSwabArrayOfLong</i>
-swap the bytes in an array of 16-bit and 32-bit items,
-respectively.</p>
-<!-- INDENTATION -->
-<p><i>TIFFReverseBits</i> replaces each byte in <i>data</i>
-with the equivalent bit-reversed value. This operation is
-performed with a lookup table, which is returned using the
-<i>TIFFGetBitRevTable</i> function. <i>reversed</i>
-parameter specifies which table should be returned. Supply
-<i>1</i> if you want bit reversal table. Supply <i>0</i> to
-get the table that do not reverse bit values. It is a lookup
-table that can be used as an <i>identity function</i>; i.e.
-<i>TIFFNoBitRevTable[n] == n</i>.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/TIFFtile.3tiff.html b/html/man/TIFFtile.3tiff.html
deleted file mode 100644
index 2d1bb576..00000000
--- a/html/man/TIFFtile.3tiff.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFTILE</title>
-</head>
-<body>
-
-<h1 align=center>TIFFTILE</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>TIFFTileSize, TIFFTileRowSize, TIFFVTileSize,
-TIFFDefaultTileSize, TIFFComputeTile, TIFFCheckTile,
-TIFFNumberOfTiles &minus; tile-related utility routines</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>#include &lt;tiffio.h&gt;</b></p>
-<!-- INDENTATION -->
-<p><b>void TIFFDefaultTileSize(TIFF *</b><i>tif</i><b>,
-uint32_t *</b><i>tw</i><b>, uint32_t *</b><i>th</i><b>)<br>
-tsize_t TIFFTileSize(TIFF *</b><i>tif</i><b>)<br>
-tsize_t TIFFTileRowSize(TIFF *</b><i>tif</i><b>)<br>
-tsize_t TIFFVTileSize(TIFF *</b><i>tif</i><b>, uint32_t</b>
-<i>nrows</i><b>)<br>
-ttile_t TIFFComputeTile(TIFF *</b><i>tif</i><b>, uint32_t</b>
-<i>x</i><b>, uint32_t</b> <i>y</i><b>, uint32_t</b> <i>z</i><b>,
-tsample_t</b> <i>sample</i><b>)<br>
-int TIFFCheckTile(TIFF *</b><i>tif</i><b>, uint32_t</b>
-<i>x</i><b>, uint32_t</b> <i>y</i><b>, uint32_t</b> <i>z</i><b>,
-tsample_t</b> <i>sample</i><b>)<br>
-ttile_t TIFFNumberOfTiles(TIFF *</b><i>tif</i><b>)</b></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>TIFFDefaultTileSize</i> returns the pixel width and
-height of a reasonable-sized tile; suitable for setting up
-the <i>TileWidth</i> and <i>TileLength</i> tags. If the
-<i>tw</i> and <i>th</i> values passed in are non-zero, then
-they are adjusted to reflect any compression-specific
-requirements. The returned width and height are constrained
-to be a multiple of 16 pixels to conform with the
-<small>TIFF</small> specification.</p>
-<!-- INDENTATION -->
-<p><i>TIFFTileSize</i> returns the equivalent size for a
-tile of data as it would be returned in a call to
-<i>TIFFReadTile</i> or as it would be expected in a call to
-<i>TIFFWriteTile</i>.</p>
-<!-- INDENTATION -->
-<p><i>TIFFVTileSize</i> returns the number of bytes in a
-row-aligned tile with <i>nrows</i> of data.</p>
-<!-- INDENTATION -->
-<p><i>TIFFTileRowSize</i> returns the number of bytes of a
-row of data in a tile.</p>
-<!-- INDENTATION -->
-<p><i>TIFFComputeTile</i> returns the tile that contains the
-specified coordinates. A valid tile is always returned;
-out-of-range coordinate values are clamped to the bounds of
-the image. The <i>x</i> and <i>y</i> parameters are always
-used in calculating a tile. The <i>z</i> parameter is used
-if the image is deeper than 1 slice
-(<i>ImageDepth</i>&gt;1). The <i>sample</i> parameter is
-used only if data are organized in separate planes
-(<i>PlanarConfiguration</i>=2).</p>
-<!-- INDENTATION -->
-<p><i>TIFFCheckTile</i> returns a non-zero value if the
-supplied coordinates are within the bounds of the image and
-zero otherwise. The <i>x</i> parameter is checked against
-the value of the <i>ImageWidth</i> tag. The <i>y</i>
-parameter is checked against the value of the
-<i>ImageLength</i> tag. The <i>z</i> parameter is checked
-against the value of the <i>ImageDepth</i> tag (if defined).
-The <i>sample</i> parameter is checked against the value of
-the <i>SamplesPerPixel</i> parameter if the data are
-organized in separate planes.</p>
-<!-- INDENTATION -->
-<p><i>TIFFNumberOfTiles</i> returns the number of tiles in
-the image.</p>
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>TIFFReadEncodedTile</b>(3TIFF),
-<b>TIFFReadRawTile</b>(3TIFF), <b>TIFFReadTile</b>(3TIFF),
-<b>TIFFWriteEncodedTile</b>(3TIFF),
-<b>TIFFWriteRawTile</b>(3TIFF), <b>TIFFWriteTile</b>(3TIFF),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/fax2ps.1.html b/html/man/fax2ps.1.html
deleted file mode 100644
index 7c5c1f3e..00000000
--- a/html/man/fax2ps.1.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>FAX2PS</title>
-</head>
-<body>
-
-<h1 align=center>FAX2PS</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>fax2ps &minus; convert a <small>TIFF</small> facsimile to
-compressed PostScript&trade;</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>fax2ps</b> [ <i>options</i> ] [ <i>file ...</i> ]</p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>fax2ps</i> reads one or more <small>TIFF</small>
-facsimile image files and prints a compressed form of
-PostScript on the standard output that is suitable for
-printing.</p>
-<!-- INDENTATION -->
-<p>By default, each page is scaled to reflect the image
-dimensions and resolutions stored in the file. The
-<b>&minus;x</b> and <b>&minus;y</b> options can be used to
-specify the horizontal and vertical image resolutions
-(lines/inch), respectively. If the <b>&minus;S</b> option is
-specified, each page is scaled to fill an output page. The
-default output page is 8.5 by 11 inches. Alternate page
-dimensions can be specified in inches with the
-<b>&minus;W</b> and <b>&minus;H</b> options.</p>
-<!-- INDENTATION -->
-<p>By default <i>fax2ps</i> generates PostScript for all
-pages in the file. The <b>&minus;p</b> option can be used to
-select one or more pages from a multi-page document.</p>
-<!-- INDENTATION -->
-<p><i>fax2ps</i> generates a compressed form of PostScript
-that is optimized for sending pages of text to a PostScript
-printer attached to a host through a low-speed link (such as
-a serial line). Each output page is filled with white and
-then only the black areas are drawn. The PostScript
-specification of the black drawing operations is optimized
-by using a special font that encodes the move-draw
-operations required to fill the black regions on the page.
-This compression scheme typically results in a substantially
-reduced PostScript description, relative to the
-straightforward imaging of the page with a PostScript
-<i>image</i> operator. This algorithm can, however, be
-ineffective for continuous-tone and white-on-black images.
-For these images, it sometimes is more efficient to send the
-raster bitmap image directly; see <b>tiff2ps</b>(1).</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="11%">
-
-<p><b>&minus;p</b> <i>number</i></p>
-</td>
-<td width="76%">
-
-<p>Print only the indicated page. Multiple pages may be
-printed by specifying this option more than once.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;x</b> <i>resolution</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="23%"></td>
-<td width="76%">
-<p>Use <i>resolution</i> as the horizontal resolution, in
-dots/inch, of the image data. By default this value is taken
-from the file.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;y</b> <i>resolution</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="23%"></td>
-<td width="76%">
-<p>Use <i>resolution</i> as the vertical resolution, in
-lines/inch, of the image data. By default this value is
-taken from the file.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="12%">
-
-<p><b>&minus;S</b></p>
-</td>
-<td width="76%">
-
-<p>Scale each page of image data to fill the output page
-dimensions. By default images are presented according to the
-dimension information recorded in the <small>TIFF</small>
-file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="12%">
-
-<p><b>&minus;W</b> <i>width</i></p>
-</td>
-<td width="76%">
-
-<p>Use <i>width</i> as the width, in inches, of the output
-page.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="12%">
-
-<p><b>&minus;H</b> <i>height</i></p>
-</td>
-<td width="76%">
-
-<p>Use <i>height</i> as the height, in inches, of the
-output page.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Some messages about malformed <small>TIFF</small> images
-come from the <small>TIFF</small> library.</p>
-<!-- INDENTATION -->
-<p>Various messages about badly formatted facsimile images
-may be generated due to transmission errors in received
-facsimile. <i>fax2ps</i> attempts to recover from such data
-errors by resynchronizing decoding at the end of the current
-scanline. This can result in long horizontal black lines in
-the resultant PostScript image.</p>
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>If the destination printer supports PostScript Level II
-then it is always faster to just send the encoded bitmap
-generated by the <b>tiff2ps</b>(1) program.</p>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>fax2ps</i> should probably figure out when it is doing
-a poor job of compressing the output and just generate
-PostScript to image the bitmap raster instead.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiff2ps</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/fax2tiff.1.html b/html/man/fax2tiff.1.html
deleted file mode 100644
index a1c1b0b6..00000000
--- a/html/man/fax2tiff.1.html
+++ /dev/null
@@ -1,607 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:18 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>FAX2TIFF</title>
-</head>
-<body>
-
-<h1 align=center>FAX2TIFF</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>fax2tiff &minus; create a <small>TIFF</small> Class F fax
-file from raw fax data</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>fax2tiff</b> [ <i>options</i> ] [ <b>&minus;o</b>
-<i>output.tif</i> ] <i>input.raw</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Fax2tiff</i> creates a <small>TIFF</small> file
-containing <small>CCITT</small> Group 3 or Group 4 encoded
-data from one or more files containing
-&lsquo;&lsquo;raw&rsquo;&rsquo; Group 3 or Group 4 encoded
-data (typically obtained directly from a fax modem). By
-default, each row of data in the resultant
-<small>TIFF</small> file is 1-dimensionally encoded and
-padded or truncated to 1728 pixels, as needed. The resultant
-image is a set of low resolution (98 lines/inch) or medium
-resolution (196 lines/inch) pages, each of which is a single
-strip of data. The generated file conforms to the
-<small>TIFF</small> Class F ( <small>FAX</small> )
-specification for storing facsimile data. This means, in
-particular, that each page of the data does <b>not</b>
-include the trailing <i>return to control</i> (
-<small>RTC</small> ) code; as required for transmission by
-the <small>CCITT</small> Group 3 specifications. The old,
-&lsquo;&lsquo;classic&rsquo;&rsquo;, format is created if
-the <b>&minus;c</b> option is used. (The Class F format can
-also be requested with the <b>&minus;f</b> option.)</p>
-<!-- INDENTATION -->
-<p>The default name of the output image is <i>fax.tif</i>;
-this can be changed with the <b>&minus;o</b> option. Each
-input file is assumed to be a separate page of facsimile
-data from the same document. The order in which input files
-are specified on the command line is the order in which the
-resultant pages appear in the output file.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Options that affect the interpretation of input data
-are:</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;3</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is <small>CCITT</small> Group 3
-encoded (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;4</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is <small>CCITT</small> Group 4
-encoded.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;U</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is uncompressed (Group 3 or Group
-4).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;1</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is encoded with the 1-dimensional
-version of the <small>CCITT</small> Group 3 Huffman encoding
-algorithm (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;2</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is 2-dimensional version of the
-<small>CCITT</small> Group 3 Huffman encoding algorithm.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;P</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is <b>not</b> EOL-aligned (default).
-This option has effect with Group 3 encoded input only.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;A</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data is EOL-aligned. This option has effect
-with Group 3 encoded input only.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;M</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Treat input data as having bits filled from most
-significant bit ( <small>MSB</small> ) to most least bit (
-<small>LSB</small> ).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;L</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Treat input data as having bits filled from least
-significant bit ( <small>LSB</small> ) to most significant
-bit ( <small>MSB</small> ) (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;B</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data was encoded with black as 0 and white
-as 1.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;W</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Assume input data was encoded with black as 1 and white
-as 0 (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;R</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the vertical resolution, in lines/inch, of the
-input images. By default input are assumed to have a
-vertical resolution of 196 lines/inch. If images are low
-resolution facsimile, a value of 98 lines/inch should be
-specified.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;X</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the width, in pixels, of the input images. By
-default input are assumed to have a width of 1728
-pixels.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Options that affect the output file format are:</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;o</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the name of the output file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;7</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be compressed with the
-<small>CCITT</small> Group 3 Huffman encoding algorithm
-(default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;8</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be compressed with the
-<small>CCITT</small> Group 4 Huffman encoding.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;u</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be uncompressed (Group 3 or Group
-4).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;5</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be encoded with the 1-dimensional
-version of the <small>CCITT</small> Group 3 Huffman encoding
-algorithm.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;6</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be encoded with the 2-dimensional
-version of the <small>CCITT</small> Group 3 Huffman encoding
-algorithm (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;a</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the last bit of each <i>End Of Line</i> (
-<small>EOL</small> ) code to land on a byte boundary
-(default). This &lsquo;&lsquo;zero padding&rsquo;&rsquo;
-will be reflected in the contents of the
-<i>Group3Options</i> tag of the resultant
-<small>TIFF</small> file. This option has effect with Group
-3 encoded output only.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;p</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Do not EOL-align output. This option has effect with
-Group 3 encoded output only.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate &quot;classic&quot; Group 3 TIFF format.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate TIFF Class F (TIFF/F) format (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;m</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output data to have bits filled from most
-significant bit ( <small>MSB</small> ) to most least bit (
-<small>LSB</small> ).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;l</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output data to have bits filled from least
-significant bit ( <small>LSB</small> ) to most significant
-bit ( <small>MSB</small> ) (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the number of rows (scanlines) in each strip of
-data written to the output file. By default (or when value
-<b>0</b> is specified), <i>tiffcp</i> attempts to set the
-rows/strip that no more than 8 kilobytes of data appear in a
-strip (with except of G3/G4 compression schemes). If you
-specify special value <b>&minus;1</b> it will results in
-infinite number of the rows per strip. The entire image will
-be the one strip in that case. This is default in case of
-G3/G4 output compression schemes.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Stretch the input image vertically by writing each input
-row of data twice to the output file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;v</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force <i>fax2tiff</i> to print the number of rows of
-data it retrieved from the input file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;z</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be compressed with the LZW encoding.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="DIAGNOSTICS"></a>
-<h2>DIAGNOSTICS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following warnings and errors come from the decoding
-routines in the library.</p>
-<!-- INDENTATION -->
-<p><b>Warning, %s: Premature EOL at scanline %d (x
-%d).\n</b>. The input data had a row that was shorter than
-the expected width. The row is padded with white.</p>
-<!-- INDENTATION -->
-<p><b>%s: Premature EOF at scanline %d (x %d).\n</b>. The
-decoder ran out of data in the middle of a scanline. The
-resultant row is padded with white.</p>
-<!-- INDENTATION -->
-<p><b>%s: Bad code word at row %d, x %d\n</b>. An invalid
-Group 3 <i>code</i> was encountered while decoding the input
-file. The row number and horizontal position is given. The
-remainder of the input row is discarded, while the
-corresponding output row is padded with white.</p>
-<!-- INDENTATION -->
-<p><b>%s: Bad 2D code word at scanline %d.\n</b>. An invalid
-Group 4 or 2D Group 3 <i>code</i> was encountered while
-decoding the input file. The row number and horizontal
-position is given. The remainder of the input row is
-discarded, while the corresponding output row is padded with
-white.</p>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Input data are assumed to have a a &lsquo;&lsquo;top
-left&rsquo;&rsquo; orientation; it should be possible to
-override this assumption from the command line.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b><small>CCITT</small> Recommendation T.4</b>
-(Standardization of Group 3 Facsimile Apparatus for Document
-Transmission).</p>
-<!-- INDENTATION -->
-<p><b>The Spirit of TIFF Class F</b>, an appendix to the
-TIFF 5.0 specification prepared by Cygnet Technologies.</p>
-<!-- INDENTATION -->
-<p><b>tiffinfo</b>(1), <b>tiffdither</b>(1),
-<b>tiffgt</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/index.html b/html/man/index.html
deleted file mode 100644
index 4456f990..00000000
--- a/html/man/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<HTML><HEAD><TITLE>Libtiff HTML manpage index</TITLE></HEAD><BODY BGCOLOR=white><ul><H2>Man Pages</h2><p>
-<li><A HREF=TIFFbuffer.3tiff.html>TIFFbuffer.3tiff.html</a>
-<li><A HREF=TIFFClose.3tiff.html>TIFFClose.3tiff.html</a>
-<li><A HREF=TIFFcodec.3tiff.html>TIFFcodec.3tiff.html</a>
-<li><A HREF=TIFFcolor.3tiff.html>TIFFcolor.3tiff.html</a>
-<li><A HREF=TIFFDataWidth.3tiff.html>TIFFDataWidth.3tiff.html</a>
-<li><A HREF=TIFFError.3tiff.html>TIFFError.3tiff.html</a>
-<li><A HREF=TIFFFlush.3tiff.html>TIFFFlush.3tiff.html</a>
-<li><A HREF=TIFFGetField.3tiff.html>TIFFGetField.3tiff.html</a>
-<li><A HREF=TIFFmemory.3tiff.html>TIFFmemory.3tiff.html</a>
-<li><A HREF=TIFFOpen.3tiff.html>TIFFOpen.3tiff.html</a>
-<li><A HREF=TIFFPrintDirectory.3tiff.html>TIFFPrintDirectory.3tiff.html</a>
-<li><A HREF=TIFFquery.3tiff.html>TIFFquery.3tiff.html</a>
-<li><A HREF=TIFFReadDirectory.3tiff.html>TIFFReadDirectory.3tiff.html</a>
-<li><A HREF=TIFFReadEncodedStrip.3tiff.html>TIFFReadEncodedStrip.3tiff.html</a>
-<li><A HREF=TIFFReadEncodedTile.3tiff.html>TIFFReadEncodedTile.3tiff.html</a>
-<li><A HREF=TIFFReadRawStrip.3tiff.html>TIFFReadRawStrip.3tiff.html</a>
-<li><A HREF=TIFFReadRawTile.3tiff.html>TIFFReadRawTile.3tiff.html</a>
-<li><A HREF=TIFFReadRGBAImage.3tiff.html>TIFFReadRGBAImage.3tiff.html</a>
-<li><A HREF=TIFFReadRGBAStrip.3tiff.html>TIFFReadRGBAStrip.3tiff.html</a>
-<li><A HREF=TIFFReadRGBATile.3tiff.html>TIFFReadRGBATile.3tiff.html</a>
-<li><A HREF=TIFFReadScanline.3tiff.html>TIFFReadScanline.3tiff.html</a>
-<li><A HREF=TIFFReadTile.3tiff.html>TIFFReadTile.3tiff.html</a>
-<li><A HREF=TIFFRGBAImage.3tiff.html>TIFFRGBAImage.3tiff.html</a>
-<li><A HREF=TIFFSetDirectory.3tiff.html>TIFFSetDirectory.3tiff.html</a>
-<li><A HREF=TIFFSetField.3tiff.html>TIFFSetField.3tiff.html</a>
-<li><A HREF=TIFFsize.3tiff.html>TIFFsize.3tiff.html</a>
-<li><A HREF=TIFFstrip.3tiff.html>TIFFstrip.3tiff.html</a>
-<li><A HREF=TIFFswab.3tiff.html>TIFFswab.3tiff.html</a>
-<li><A HREF=TIFFtile.3tiff.html>TIFFtile.3tiff.html</a>
-<li><A HREF=TIFFWarning.3tiff.html>TIFFWarning.3tiff.html</a>
-<li><A HREF=TIFFWriteDirectory.3tiff.html>TIFFWriteDirectory.3tiff.html</a>
-<li><A HREF=TIFFWriteEncodedStrip.3tiff.html>TIFFWriteEncodedStrip.3tiff.html</a>
-<li><A HREF=TIFFWriteEncodedTile.3tiff.html>TIFFWriteEncodedTile.3tiff.html</a>
-<li><A HREF=TIFFWriteRawStrip.3tiff.html>TIFFWriteRawStrip.3tiff.html</a>
-<li><A HREF=TIFFWriteRawTile.3tiff.html>TIFFWriteRawTile.3tiff.html</a>
-<li><A HREF=TIFFWriteScanline.3tiff.html>TIFFWriteScanline.3tiff.html</a>
-<li><A HREF=TIFFWriteTile.3tiff.html>TIFFWriteTile.3tiff.html</a>
-<li><A HREF=fax2ps.1.html>fax2ps.1.html</a>
-<li><A HREF=fax2tiff.1.html>fax2tiff.1.html</a>
-<!-- <li><A HREF=gif2tiff.1.html>gif2tiff.1.html</a> -->
-<li><A HREF=pal2rgb.1.html>pal2rgb.1.html</a>
-<li><A HREF=ppm2tiff.1.html>ppm2tiff.1.html</a>
-<!-- <li><A HREF=ras2tiff.1.html>ras2tiff.1.html</a> -->
-<li><A HREF=raw2tiff.1.html>raw2tiff.1.html</a>
-<li><A HREF=rgb2ycbcr.1.html>rgb2ycbcr.1.html</a>
-<!-- <li><A HREF=sgi2tiff.1.html>sgi2tiff.1.html</a> -->
-<li><A HREF=thumbnail.1.html>thumbnail.1.html</a>
-<li><A HREF=tiff2bw.1.html>tiff2bw.1.html</a>
-<li><A HREF=tiff2pdf.1.html>tiff2pdf.1.html</a>
-<li><A HREF=tiff2ps.1.html>tiff2ps.1.html</a>
-<li><A HREF=tiff2rgba.1.html>tiff2rgba.1.html</a>
-<li><A HREF=tiffcmp.1.html>tiffcmp.1.html</a>
-<li><A HREF=tiffcp.1.html>tiffcp.1.html</a>
-<li><A HREF=tiffcrop.1.html>tiffcrop.1.html</a>
-<li><A HREF=tiffdither.1.html>tiffdither.1.html</a>
-<li><A HREF=tiffdump.1.html>tiffdump.1.html</a>
-<li><A HREF=tiffgt.1.html>tiffgt.1.html</a>
-<li><A HREF=tiffinfo.1.html>tiffinfo.1.html</a>
-<li><A HREF=tiffmedian.1.html>tiffmedian.1.html</a>
-<li><A HREF=tiffset.1.html>tiffset.1.html</a>
-<li><A HREF=tiffsplit.1.html>tiffsplit.1.html</a>
-<!-- <li><A HREF=tiffsv.1.html>tiffsv.1.html</a> -->
-</ul></BODY></HTML>
diff --git a/html/man/libtiff.3tiff.html b/html/man/libtiff.3tiff.html
deleted file mode 100644
index 5ca38dfe..00000000
--- a/html/man/libtiff.3tiff.html
+++ /dev/null
@@ -1,1150 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>INTRO</title>
-</head>
-<body>
-
-<h1 align=center>INTRO</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#DATA TYPES">DATA TYPES</a><br>
-<a href="#LIST OF ROUTINES">LIST OF ROUTINES</a><br>
-<a href="#TAG USAGE">TAG USAGE</a><br>
-<a href="#PSEUDO TAGS">PSEUDO TAGS</a><br>
-<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-<a href="#BUGS">BUGS</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>libtiff &minus; introduction to <i>libtiff</i>, a
-library for reading and writing</big> TIFF
-<big>files</big></p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><b>#include &lt;tiffio.h&gt;</b></big></p>
-<!-- INDENTATION -->
-<p><big>cc file.c <b>-ltiff</b></big></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big><i>libtiff</i> is a library for reading and writing
-data files encoded with the <i>Tag Image File</i> format,
-Revision 6.0 (or revision 5.0 or revision 4.0). This file
-format is suitable for archiving multi-color and
-monochromatic image data.</big></p>
-<!-- INDENTATION -->
-<p><big>The library supports several compression algorithms,
-as indicated by the <i>Compression</i> field, including: no
-compression (1),</big> CCITT <big>1D Huffman compression
-(2),</big> CCITT <big>Group 3 Facsimile compression
-(3),</big> CCITT <big>Group 4 Facsimile compression (4),
-Lempel-Ziv &amp; Welch compression (5), baseline JPEG
-compression (7), word-aligned 1D Huffman compression
-(32771), and PackBits compression (32773). In addition,
-several nonstandard compression algorithms are supported:
-the 4-bit compression algorithm used by the
-<i>ThunderScan</i> program (32809) (decompression only),
-NeXT&rsquo;s 2-bit compression algorithm (32766)
-(decompression only), an experimental LZ-style algorithm
-known as Deflate (32946), and an experimental CIE LogLuv
-compression scheme designed for images with high dynamic
-range (32845 for LogL and 32845 for LogLuv). Directory
-information may be in either little- or big-endian byte
-order&minus;byte swapping is automatically done by the
-library. Data bit ordering may be either Most Significant
-Bit (</big> MSB <big>) to Least Significant Bit (</big> LSB
-<big>) or</big> LSB <big>to</big> MSB. <big>Finally, the
-library does not support files in which the
-<i>BitsPerSample</i>, <i>Compression</i>,
-<i>MinSampleValue</i>, or <i>MaxSampleValue</i> fields are
-defined differently on a per-sample basis (in Rev. 6.0 the
-<i>Compression</i> tag is not defined on a per-sample basis,
-so this is immaterial).</big></p>
-</td>
-</table>
-<a name="DATA TYPES"></a>
-<h2>DATA TYPES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The library makes extensive use of C typedefs to
-promote portability. Two sets of typedefs are used, one for
-communication with clients of the library and one for
-internal data structures and parsing of the</big> TIFF
-<big>format. The following typedefs are exposed to users
-either through function definitions or through parameters
-passed through the varargs interfaces.</big></p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef unsigned short uint16_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>16-bit unsigned integer</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef unsigned &lt;<i>thing</i>&gt;
-uint32_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>32-bit unsigned integer</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef unsigned int ttag_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>directory tag</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef uint16_t tdir_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>directory index</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef uint16_t tsample_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>sample number</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef uint32_t tstrip_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>strip number</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef uint32_t ttile_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>tile number</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef int32_t tsize_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>i/o size in bytes</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef void* tdata_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>image data ref</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef void* thandle_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>client data handle</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="46%">
-
-<p><big>typedef int32_t toff_t;</big></p>
-</td>
-<td width="38%">
-
-<p><big>file offset</big></p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>Note that <i>tstrip_t</i>, <i>ttile_t</i>, and
-<i>tsize_t</i> are constrained to be no more than 32-bit
-quantities by 32-bit fields they are stored in in the</big>
-TIFF <big>image. Likewise <i>tsample_t</i> is limited by the
-16-bit field used to store the <i>SamplesPerPixel</i> tag.
-<i>tdir_t</i> constrains the maximum number of</big> IFDs
-<big>that may appear in an image and may be an arbitrary
-size (w/o penalty). <i>ttag_t</i> must be either int,
-unsigned int, pointer, or double because the library uses a
-varargs interface and</big> ANSI C <big>restricts the type
-of the parameter before an ellipsis to be a promoted type.
-<i>toff_t</i> is defined as int32_t because TIFF file offsets
-are (unsigned) 32-bit quantities. A signed value is used
-because some interfaces return &minus;1 on error. Finally,
-note that user-specified data references are passed as
-opaque handles and only cast at the lowest layers where
-their type is presumed.</big></p>
-</td>
-</table>
-<a name="LIST OF ROUTINES"></a>
-<h2>LIST OF ROUTINES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The following routines are part of the library.
-Consult specific manual pages for details on their
-operation; on most systems doing &lsquo;&lsquo;man
-function-name&rsquo;&rsquo; will work.</big></p></td>
-</table>
-<!-- TABS -->
-
-<p><big><i>Name Description</i></big></p>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCheckpointDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>writes the current state of the directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCheckTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>very x,y,z,sample is within image</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCIELabToRGBInit</big></p>
-</td>
-<td width="67%">
-
-<p><big>initialize CIE L*a*b* 1976 to RGB conversion
-state</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCIELabToXYZ</big></p>
-</td>
-<td width="67%">
-
-<p><big>perform CIE L*a*b* 1976 to CIE XYZ
-conversion</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFClientOpen</big></p>
-</td>
-<td width="67%">
-
-<p><big>open a file for reading or writing</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFClose</big></p>
-</td>
-<td width="67%">
-
-<p><big>close an open file</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFComputeStrip</big></p>
-</td>
-<td width="67%">
-
-<p><big>return strip containing y,sample</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFComputeTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>return tile containing x,y,z,sample</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCurrentDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>return index of current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCurrentRow</big></p>
-</td>
-<td width="67%">
-
-<p><big>return index of current scanline</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCurrentStrip</big></p>
-</td>
-<td width="67%">
-
-<p><big>return index of current strip</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFCurrentTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>return index of current tile</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFDataWidth</big></p>
-</td>
-<td width="67%">
-
-<p><big>return the size of TIFF data types</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFError</big></p>
-</td>
-<td width="67%">
-
-<p><big>library error handler</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFFdOpen</big></p>
-</td>
-<td width="67%">
-
-<p><big>open a file for reading or writing</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFFileName</big></p>
-</td>
-<td width="67%">
-
-<p><big>return name of open file</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFFileno</big></p>
-</td>
-<td width="67%">
-
-<p><big>return open file descriptor</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFFindCODEC</big></p>
-</td>
-<td width="67%">
-
-<p><big>find standard codec for the specific
-scheme</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFFlush</big></p>
-</td>
-<td width="67%">
-
-<p><big>flush all pending writes</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFFlushData</big></p>
-</td>
-<td width="67%">
-
-<p><big>flush pending data writes</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFGetBitRevTable</big></p>
-</td>
-<td width="67%">
-
-<p><big>return bit reversal table</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFGetField</big></p>
-</td>
-<td width="67%">
-
-<p><big>return tag value in current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFGetFieldDefaulted</big></p>
-</td>
-<td width="67%">
-
-<p><big>return tag value in current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFGetMode</big></p>
-</td>
-<td width="67%">
-
-<p><big>return open file mode</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFGetVersion</big></p>
-</td>
-<td width="67%">
-
-<p><big>return library version string</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFIsCODECConfigured</big></p>
-</td>
-<td width="67%">
-
-<p><big>check, whether we have working codec</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFIsMSB2LSB</big></p>
-</td>
-<td width="67%">
-
-<p><big>return true if image data is being
-returned</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%"></td>
-<td width="67%">
-
-<p><big>with bit 0 as the most significant bit</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFIsTiled</big></p>
-</td>
-<td width="67%">
-
-<p><big>return true if image data is tiled</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFIsByteSwapped</big></p>
-</td>
-<td width="67%">
-
-<p><big>return true if image data is byte-swapped</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFNumberOfStrips</big></p>
-</td>
-<td width="67%">
-
-<p><big>return number of strips in an image</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFNumberOfTiles</big></p>
-</td>
-<td width="67%">
-
-<p><big>return number of tiles in an image</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFOpen</big></p>
-</td>
-<td width="67%">
-
-<p><big>open a file for reading or writing</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFPrintDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>print description of the current
-directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadBufferSetup</big></p>
-</td>
-<td width="67%">
-
-<p><big>specify i/o buffer for reading</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>read the next directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadEncodedStrip</big></p>
-</td>
-<td width="67%">
-
-<p><big>read and decode a strip of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadEncodedTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>read and decode a tile of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadRawStrip</big></p>
-</td>
-<td width="67%">
-
-<p><big>read a raw strip of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadRawTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>read a raw tile of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadRGBAImage</big></p>
-</td>
-<td width="67%">
-
-<p><big>read an image into a fixed format raster</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadScanline</big></p>
-</td>
-<td width="67%">
-
-<p><big>read and decode a row of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReadTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>read and decode a tile of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFRegisterCODEC</big></p>
-</td>
-<td width="67%">
-
-<p><big>override standard codec for the specific
-scheme</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFReverseBits</big></p>
-</td>
-<td width="67%">
-
-<p><big>reverse bits in an array of bytes</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFRGBAImageBegin</big></p>
-</td>
-<td width="67%">
-
-<p><big>setup decoder state for TIFFRGBAImageGet</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFRGBAImageEnd</big></p>
-</td>
-<td width="67%">
-
-<p><big>release TIFFRGBAImage decoder state</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFRGBAImageGet</big></p>
-</td>
-<td width="67%">
-
-<p><big>read and decode an image</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFRGBAImageOK</big></p>
-</td>
-<td width="67%">
-
-<p><big>is image readable by TIFFRGBAImageGet</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFScanlineSize</big></p>
-</td>
-<td width="67%">
-
-<p><big>return size of a scanline</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSetDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>set the current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSetSubDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>set the current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSetErrorHandler</big></p>
-</td>
-<td width="67%">
-
-<p><big>set error handler function</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSetField</big></p>
-</td>
-<td width="67%">
-
-<p><big>set a tag&rsquo;s value in the current
-directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSetWarningHandler</big></p>
-</td>
-<td width="67%">
-
-<p><big>set warning handler function</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFStripSize</big></p>
-</td>
-<td width="67%">
-
-<p><big>returns size of a strip</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFRawStripSize</big></p>
-</td>
-<td width="67%">
-
-<p><big>returns the number of bytes in a raw
-strip</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSwabShort</big></p>
-</td>
-<td width="67%">
-
-<p><big>swap bytes of short</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSwabLong</big></p>
-</td>
-<td width="67%">
-
-<p><big>swap bytes of long</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSwabArrayOfShort</big></p>
-</td>
-<td width="67%">
-
-<p><big>swap bytes of an array of shorts</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFSwabArrayOfLong</big></p>
-</td>
-<td width="67%">
-
-<p><big>swap bytes of an array of longs</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFTileRowSize</big></p>
-</td>
-<td width="67%">
-
-<p><big>return size of a row in a tile</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFTileSize</big></p>
-</td>
-<td width="67%">
-
-<p><big>return size of a tile</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFUnRegisterCODEC</big></p>
-</td>
-<td width="67%">
-
-<p><big>unregisters the codec</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFVGetField</big></p>
-</td>
-<td width="67%">
-
-<p><big>return tag value in current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFVGetFieldDefaulted</big></p>
-</td>
-<td width="67%">
-
-<p><big>return tag value in current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFVSetField</big></p>
-</td>
-<td width="67%">
-
-<p><big>set a tag&rsquo;s value in the current
-directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFVStripSize</big></p>
-</td>
-<td width="67%">
-
-<p><big>returns the number of bytes in a strip</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWarning</big></p>
-</td>
-<td width="67%">
-
-<p><big>library warning handler</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteDirectory</big></p>
-</td>
-<td width="67%">
-
-<p><big>write the current directory</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteEncodedStrip</big></p>
-</td>
-<td width="67%">
-
-<p><big>compress and write a strip of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteEncodedTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>compress and write a tile of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteRawStrip</big></p>
-</td>
-<td width="67%">
-
-<p><big>write a raw strip of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteRawTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>write a raw tile of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteScanline</big></p>
-</td>
-<td width="67%">
-
-<p><big>write a scanline of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFWriteTile</big></p>
-</td>
-<td width="67%">
-
-<p><big>compress and write a tile of data</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFXYZToRGB</big></p>
-</td>
-<td width="67%">
-
-<p><big>perform CIE XYZ to RGB conversion</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFYCbCrToRGBInit</big></p>
-</td>
-<td width="67%">
-
-<p><big>initialize YCbCr to RGB conversion state</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>TIFFYCbCrtoRGB</big></p>
-</td>
-<td width="67%">
-
-<p><big>perform YCbCr to RGB conversion</big></p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>Auxiliary functions:</big></p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>_TIFFfree</big></p>
-</td>
-<td width="67%">
-
-<p><big>free memory buffer</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>_TIFFmalloc</big></p>
-</td>
-<td width="67%">
-
-<p><big>dynamically allocate memory buffer</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>_TIFFmemcmp</big></p>
-</td>
-<td width="67%">
-
-<p><big>compare contents of the memory buffers</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>_TIFFmemcpy</big></p>
-</td>
-<td width="67%">
-
-<p><big>copy contents of the one buffer to
-another</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>_TIFFmemset</big></p>
-</td>
-<td width="67%">
-
-<p><big>fill memory buffer with a constant byte</big></p>
-</td>
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="23%">
-
-<p><big>_TIFFrealloc</big></p>
-</td>
-<td width="67%">
-
-<p><big>dynamically reallocate memory buffer</big></p>
-</td>
-</table>
-<a name="TAG USAGE"></a>
-<h2>TAG USAGE</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><big>The table below lists the</big> TIFF <big>tags that
-are recognized and handled by the library. If no use is
-indicated in the table, then the library reads and writes
-the tag, but does not use it internally. Note that some tags
-are meaningful only when a particul \ No newline at end of file
diff --git a/html/man/pal2rgb.1.html b/html/man/pal2rgb.1.html
deleted file mode 100644
index 42ecdc17..00000000
--- a/html/man/pal2rgb.1.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>PAL2RGB</title>
-</head>
-<body>
-
-<h1 align=center>PAL2RGB</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>pal2rgb &minus; convert a palette color
-<small>TIFF</small> image to a full color image</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b> [ <i>options</i> ] <i>input.tif
-output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Pal2rgb</i> converts a palette color
-<small>TIFF</small> image to a full color image by applying
-the colormap of the palette image to each sample to generate
-a full color <small>RGB</small> image.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Options that affect the interpretation of input data
-are:</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;C</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>This option overrides the default behavior of
-<i>pal2rgb</i> in determining whether or not colormap
-entries contain 16-bit or 8-bit values. By default the
-colormap is inspected and if no colormap entry greater than
-255 is found, the colormap is assumed to have only 8-bit
-values; otherwise 16-bit values (as required by the
-<small>TIFF</small> specification) are assumed. The
-<b>&minus;C</b> option can be used to explicitly specify the
-number of bits for colormap entries: <b>&minus;C 8</b> for
-8-bit values, <b>&minus;C 16</b> for 16-bit values.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Options that affect the output file format are:</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="5%">
-
-<p><b>&minus;p</b></p>
-</td>
-<td width="3%"></td>
-<td width="80%">
-
-<p>Explicitly select the planar configuration used in
-organizing data samples in the output image: <b>&minus;p
-contig</b> for samples packed contiguously, and <b>&minus;p
-separate</b> for samples stored separately. By default
-samples are packed.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="5%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="3%"></td>
-<td width="80%">
-
-<p>Use the specific compression algorithm to encoded image
-data in the output file: <b>&minus;c packbits</b> for
-Macintosh Packbits, <b>&minus;c lzw</b> for Lempel-Ziv &amp;
-Welch, <b>&minus;c zip</b> for Deflate, <b>&minus;c none</b>
-for no compression. If no compression-related option is
-specified, the input file&rsquo;s compression algorithm is
-used.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="5%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="3%"></td>
-<td width="80%">
-
-<p>Explicitly specify the number of rows in each strip of
-the output file. If the <b>&minus;r</b> option is not
-specified, a number is selected such that each output strip
-has approximately 8 kilobytes of data in it.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Only 8-bit images are handled.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>tiffmedian</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/ppm2tiff.1.html b/html/man/ppm2tiff.1.html
deleted file mode 100644
index 79a89f2e..00000000
--- a/html/man/ppm2tiff.1.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>PPM2TIFF</title>
-</head>
-<body>
-
-<h1 align=center>PPM2TIFF</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>ppm2tiff &minus; create a <small>TIFF</small> file from
-<small>PPM, PGM</small> and <small>PBM</small> image
-files</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>ppm2tiff</b> [ <i>options</i> ] [ <i>input.ppm</i> ]
-<i>output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>ppm2tiff</i> converts a file in the <small>PPM,
-PGM</small> and <small>PBM</small> image formats to
-<small>TIFF.</small> By default, the <small>TIFF</small>
-image is created with data samples packed
-(<i>PlanarConfiguration</i>=1), compressed with the Packbits
-algorithm (<i>Compression</i>=32773), and with each strip no
-more than 8 kilobytes. These characteristics can be
-overridden, or explicitly specified with the options
-described below</p>
-<!-- INDENTATION -->
-<p>If the <small>PPM</small> file contains greyscale data,
-then the <i>PhotometricInterpretation</i> tag is set to 1
-(min-is-black), otherwise it is set to 2 (RGB).</p>
-<!-- INDENTATION -->
-<p>If no <small>PPM</small> file is specified on the command
-line, <i>ppm2tiff</i> will read from the standard input.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify a compression scheme to use when writing image
-data: <b>none</b> for no compression, <b>packbits</b> for
-PackBits compression (will be used by default), <b>lzw</b>
-for Lempel-Ziv &amp; Welch compression, <b>jpeg</b> for
-baseline JPEG compression, <b>zip</b> for Deflate
-compression, <b>g3</b> for CCITT Group 3 (T.4) compression,
-and <b>g4</b> for CCITT Group 4 (T.6) compression.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Write data with a specified number of rows per strip; by
-default the number of rows/strip is selected so that each
-strip is approximately 8 kilobytes.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;R</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Mark the resultant image to have the specified X and Y
-resolution (in dots/inch).</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>tiffmedian</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/raw2tiff.1.html b/html/man/raw2tiff.1.html
deleted file mode 100644
index 59d5506b..00000000
--- a/html/man/raw2tiff.1.html
+++ /dev/null
@@ -1,510 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>RAW2TIFF</title>
-</head>
-<body>
-
-<h1 align=center>RAW2TIFF</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#GUESSING THE IMAGE GEOMETRY">GUESSING THE IMAGE GEOMETRY</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>raw2tiff &minus; create a <small>TIFF</small> file from a
-raw data</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>raw2tiff</b> [ <i>options</i> ] <i>input.raw
-output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>raw2tiff</i> converts a raw byte sequence into
-<small>TIFF.</small> By default, the <small>TIFF</small>
-image is created with data samples packed
-(<i>PlanarConfiguration</i>=1), compressed with the PackBits
-algorithm (<i>Compression</i>=32773), and with each strip no
-more than 8 kilobytes. These characteristics can overridden,
-or explicitly specified with the options described
-below.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;H</b> <i>number</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>size of input image file header in bytes (0 by default).
-This amount of data just will be skipped from the start of
-file while reading.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;w</b> <i>number</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>width of input image in pixels (can be guessed, see
-<b><small>GUESSING THE IMAGE GEOMETRY</small></b>
-below).</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;l</b> <i>number</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>length of input image in lines (can be guessed, see
-<b><small>GUESSING THE IMAGE GEOMETRY</small></b>
-below).</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;b</b> <i>number</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>number of bands in input image (1 by default).</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;d</b> <i>data_type</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>type of samples in input image, where <i>data_type</i>
-may be:</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>byte</b></p>
-</td>
-<td width="70%">
-
-<p>8-bit unsigned integer (default),</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>short</b></p>
-</td>
-<td width="70%">
-
-<p>16-bit unsigned integer,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>long</b></p>
-</td>
-<td width="70%">
-
-<p>32-bit unsigned integer,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>sbyte</b></p>
-</td>
-<td width="70%">
-
-<p>8-bit signed integer,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>sshort</b></p>
-</td>
-<td width="70%">
-
-<p>16-bit signed integer,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>slong</b></p>
-</td>
-<td width="70%">
-
-<p>32-bit signed integer,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>float</b></p>
-</td>
-<td width="70%">
-
-<p>32-bit IEEE floating point,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="10%">
-
-<p><b>double</b></p>
-</td>
-<td width="70%">
-
-<p>64-bit IEEE floating point.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;i</b> <i>config</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>type of samples interleaving in input image, where
-<i>config</i> may be:</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="8%">
-
-<p><b>pixel</b></p>
-</td>
-<td width="71%">
-
-<p>pixel interleaved data (default),</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="8%">
-
-<p><b>band</b></p>
-</td>
-<td width="71%">
-
-<p>band interleaved data.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;p</b> <i>photo</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>photometric interpretation (color space) of the input
-image, where <i>photo</i> may be:</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>miniswhite</b></p>
-</td>
-<td width="65%">
-
-<p>white color represented with 0 value,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>minisblack</b></p>
-</td>
-<td width="65%">
-
-<p>black color represented with 0 value (default),</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>rgb</b></p>
-</td>
-<td width="65%">
-
-<p>image has RGB color model,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>cmyk</b></p>
-</td>
-<td width="65%">
-
-<p>image has CMYK (separated) color model,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>ycbcr</b></p>
-</td>
-<td width="65%">
-
-<p>image has YCbCr color model,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>cielab</b></p>
-</td>
-<td width="65%">
-
-<p>image has CIE L*a*b color model,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>icclab</b></p>
-</td>
-<td width="65%">
-
-<p>image has ICC L*a*b color model,</p>
-</td>
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="15%">
-
-<p><b>itulab</b></p>
-</td>
-<td width="65%">
-
-<p>image has ITU L*a*b color model.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>swap bytes fetched from the input file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;L</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>input data has LSB2MSB bit order (default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;M</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>input data has MSB2LSB bit order.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify a compression scheme to use when writing image
-data: <b>&minus;c none</b> for no compression, <b>&minus;c
-packbits</b> for the PackBits compression algorithm (the
-default), <b>&minus;c jpeg</b> for the baseline JPEG
-compression algorithm, <b>&minus;c zip</b> for the Deflate
-compression algorithm, and <b>&minus;c lzw</b> for
-Lempel-Ziv &amp; Welch.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;r</b> <i>number</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>Write data with a specified number of rows per strip; by
-default the number of rows/strip is selected so that each
-strip is approximately 8 kilobytes.</p>
-</td>
-</table>
-<a name="GUESSING THE IMAGE GEOMETRY"></a>
-<h2>GUESSING THE IMAGE GEOMETRY</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>raw2tiff</i> can guess image width and height in case
-one or both of these parameters are not specified. If you
-omit one of those parameters, the complementary one will be
-calculated based on the file size (taking into account
-header size, number of bands and data type). If you omit
-both parameters, the statistical approach will be used.
-Utility will compute correlation coefficient between two
-lines at the image center using several appropriate line
-sizes and the highest absolute value of the coefficient will
-indicate the right line size. That is why you should be
-cautious with the very large images, because guessing
-process may take a while (depending on your system
-performance). Of course, the utility can&rsquo;t guess the
-header size, number of bands and data type, so it should be
-specified manually. If you don&rsquo;t know anything about
-your image, just try with the several combinations of those
-options.</p>
-<!-- INDENTATION -->
-<p>There is no magic, it is just a mathematical statistics,
-so it can be wrong in some cases. But for most ordinary
-images guessing method will work fine.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffcp</b>(1),
-<b>tiffmedian</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiff2bw.1.html b/html/man/tiff2bw.1.html
deleted file mode 100644
index 413808ec..00000000
--- a/html/man/tiff2bw.1.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFF2BW</title>
-</head>
-<body>
-
-<h1 align=center>TIFF2BW</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiff2bw &minus; convert a color <small>TIFF</small> image
-to greyscale</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiff2bw</b> [ <i>options</i> ] <i>input.tif
-output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Tiff2bw</i> converts an <small>RGB</small> or Palette
-color <small>TIFF</small> image to a greyscale image by
-combining percentages of the red, green, and blue channels.
-By default, output samples are created by taking 28% of the
-red channel, 59% of the green channel, and 11% of the blue
-channel. To alter these percentages, the <b>&minus;R</b>,
-<b>&minus;G</b>, and <b>&minus;B</b> options may be
-used.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify a compression scheme to use when writing image
-data: <b>&minus;c none</b> for no compression, <b>&minus;c
-packbits</b> for the PackBits compression algorithm,
-<b>&minus;c zip</b> for the Deflate compression algorithm,
-<b>&minus;c g3</b> for the CCITT Group 3 compression
-algorithm, <b>&minus;c g4</b> for the CCITT Group 4
-compression algorithm, and <b>&minus;c lzw</b> for
-Lempel-Ziv &amp; Welch (the default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Write data with a specified number of rows per strip; by
-default the number of rows/strip is selected so that each
-strip is approximately 8 kilobytes.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;R</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the percentage of the red channel to use
-(default 28).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;G</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the percentage of the green channel to use
-(default 59).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;B</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the percentage of the blue channel to use
-(default 11).</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>tiffmedian</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiff2pdf.1.html b/html/man/tiff2pdf.1.html
deleted file mode 100644
index 1feaf6b7..00000000
--- a/html/man/tiff2pdf.1.html
+++ /dev/null
@@ -1,609 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFF2PDF</title>
-</head>
-<body>
-
-<h1 align=center>TIFF2PDF</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#EXAMPLES">EXAMPLES</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p>tiff2pdf &minus; convert a TIFF image to a PDF
-document</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>tiff2pdf</b> [ <i>options</i> ] <i>input.tiff</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><i>tiff2pdf</i> opens a TIFF image and writes a PDF
-document to standard output.</p>
-<!-- INDENTATION -->
-<p>The program converts one TIFF file to one PDF file,
-including multiple page TIFF files, tiled TIFF files, black
-and white. grayscale, and color TIFF files that contain data
-of TIFF photometric interpretations of bilevel, grayscale,
-RGB, YCbCr, CMYK separation, and ICC L*a*b* as supported by
-<i>libtiff</i> and PDF.</p>
-<!-- INDENTATION -->
-<p>If you have multiple TIFF files to convert into one PDF
-file then use <i>tiffcp</i> or other program to concatenate
-the files into a multiple page TIFF file. If the input TIFF
-file is of huge dimensions (greater than 10000 pixels height
-or width) convert the input image to a tiled TIFF if it is
-not already.</p>
-<!-- INDENTATION -->
-<p>The standard output is standard output. Set the output
-file name with the <b>&minus;o</b> <i>output.pdf</i>
-option.</p>
-<!-- INDENTATION -->
-<p>All black and white files are compressed into a single
-strip CCITT G4 Fax compressed PDF, unless tiled, where tiled
-black and white images are compressed into tiled CCITT G4
-Fax compressed PDF, <i>libtiff</i> CCITT support is
-assumed.</p>
-<!-- INDENTATION -->
-<p>Color and grayscale data can be compressed using either
-JPEG compression, ITU-T T.81, or Zip/Deflate LZ77
-compression. Set the compression type using the
-<b>&minus;j</b> or <b>&minus;z</b> options. JPEG compression
-support requires that <i>libtiff</i> be configured with JPEG
-support, and Zip/Deflate compression support requires that
-<i>libtiff</i> be configured with Zip support, in
-tiffconf.h. Use only one or the other of <b>&minus;j</b> and
-<b>&minus;z.</b></p>
-<!-- INDENTATION -->
-<p>If the input TIFF contains single strip CCITT G4 Fax
-compressed information, then that is written to the PDF file
-without transcoding, unless the options of no compression
-and no passthrough are set, <b>&minus;d</b> and
-<b>&minus;n.</b></p>
-<!-- INDENTATION -->
-<p>If the input TIFF contains JPEG or single strip
-Zip/Deflate compressed information, and they are configured,
-then that is written to the PDF file without transcoding,
-unless the options of no compression and no passthrough are
-set.</p>
-<!-- INDENTATION -->
-<p>The default page size upon which the TIFF image is placed
-is determined by the resolution and extent of the image
-data. Default values for the TIFF image resolution can be
-set using the <b>&minus;x</b> and <b>&minus;y</b> options.
-The page size can be set using the <b>&minus;p</b> option
-for paper size, or <b>&minus;w</b> and <b>&minus;l</b> for
-paper width and length, then each page of the TIFF image is
-centered on its page. The distance unit for default
-resolution and page width and length can be set by the
-<b>&minus;u</b> option, the default unit is inch.</p>
-<!-- INDENTATION -->
-<p>Various items of the output document information can be
-set with the <b>&minus;e</b>, <b>&minus;c</b>,
-<b>&minus;a</b>, <b>&minus;t</b>, <b>&minus;s</b>, and
-<b>&minus;k</b> options. Setting the argument of the option
-to &quot;&quot; for these tags causes the relevant document
-information field to be not written. Some of the document
-information values otherwise get their information from the
-input TIFF image, the software, author, document name, and
-image description.</p>
-<!-- INDENTATION -->
-<p>The Portable Document Format (PDF) specification is
-copyrighted by Adobe Systems, Incorporated.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;o</b> <i>output-file</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set the output to go to file. <i>output-file</i></p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="4%">
-
-<p><b>&minus;j</b></p>
-</td>
-<td width="5%"></td>
-<td width="77%">
-
-<p>Compress with JPEG (requires <i>libjpeg</i> configured
-with <i>libtiff</i>).</p>
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="4%">
-
-<p><b>&minus;z</b></p>
-</td>
-<td width="5%"></td>
-<td width="77%">
-
-<p>Compress with Zip/Deflate (requires <i>zlib</i>
-configured with <i>libtiff</i>).</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;q</b> <i>quality</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set the compression quality, 1-100 for JPEG.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;n</b></p>
-</td>
-<td width="7%"></td>
-<td width="77%">
-
-<p>Do not allow data to be converted without uncompressing,
-no compressed data passthrough.</p>
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;b</b></p>
-</td>
-<td width="7%"></td>
-<td width="77%">
-
-<p>Set PDF &lsquo;&lsquo;Interpolate&rsquo;&rsquo; user
-preference.</p>
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;d</b></p>
-</td>
-<td width="7%"></td>
-<td width="77%">
-
-<p>Do not compress (decompress).</p>
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;i</b></p>
-</td>
-<td width="7%"></td>
-<td width="77%">
-
-<p>Invert colors.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;p</b> <i>paper-size</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set paper size, e.g., <b>letter</b>, <b>legal</b>,
-<b>A4</b>.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;u</b> [<b>i</b>|<b>m</b>]</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set distance unit, <b>i</b> for inch, <b>m</b> for
-centimeter.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;w</b> <i>width</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set width in units.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;l</b> <i>length</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set length in units.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;x</b> <i>xres</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set x/width resolution default.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;y</b> <i>yres</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set y/length resolution default.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;r</b> [<b>d</b>|<b>o</b>]</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set <b>d</b> for resolution default for images without
-resolution, <b>o</b> for resolution override for all
-images.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="13%"></td>
-<td width="57%">
-
-<p>Set PDF &lsquo;&lsquo;Fit Window&rsquo;&rsquo; user
-preference.</p>
-</td>
-<td width="14%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;e</b> <i>YYYYMMDDHHMMSS</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set document information date, overrides image or current
-date/time default, <i>YYYYMMDDHHMMSS.</i></p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;c</b> <i>creator</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set document information creator, overrides image
-software default.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;a</b> <i>author</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set document information author, overrides image artist
-default.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;t</b> <i>title</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set document information title, overrides image document
-name default.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;s</b> <i>subject</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set document information subject, overrides image image
-description default.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>&minus;k</b> <i>keywords</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="21%"></td>
-<td width="77%">
-<p>Set document information keywords.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;h</b></p>
-</td>
-<td width="13%"></td>
-<td width="57%">
-
-<p>List usage reminder to stderr and exit.</p>
-</td>
-<td width="14%">
-</td>
-</table>
-<a name="EXAMPLES"></a>
-<h2>EXAMPLES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p>The following example would generate the file output.pdf
-from input.tiff.</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="20%"></td>
-<td width="79%">
-<pre>tiff2pdf &minus;o output.pdf input.tiff
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p>The following example would generate PDF output from
-input.tiff and write it to standard output.</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="20%"></td>
-<td width="79%">
-<pre>tiff2pdf input.tiff
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p>The following example would generate the file output.pdf
-from input.tiff, putting the image pages on a letter sized
-page, compressing the output with JPEG, with JPEG quality
-75, setting the title to
-&lsquo;&lsquo;Document&rsquo;&rsquo;, and setting the
-&lsquo;&lsquo;Fit Window&rsquo;&rsquo; option.</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="20%"></td>
-<td width="79%">
-<pre>tiff2pdf &minus;p letter &minus;j &minus;q 75 &minus;t &quot;Document&quot; &minus;f &minus;o output.pdf input.tiff
-</pre>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p>Please report bugs via the web interface at</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="20%"></td>
-<td width="79%">
-
-<p>http://bugzilla.remotesensing.org/enter_bug.cgi?product=libtiff</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="89%">
-<p><b>libtiff</b>(3), <b>tiffcp</b>(1),
-<b>tiff2ps</b>(1)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiff2ps.1.html b/html/man/tiff2ps.1.html
deleted file mode 100644
index 7b309b0f..00000000
--- a/html/man/tiff2ps.1.html
+++ /dev/null
@@ -1,639 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFF2PS</title>
-</head>
-<body>
-
-<h1 align=center>TIFF2PS</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#EXAMPLES">EXAMPLES</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiff2ps &minus; convert a <small>TIFF</small> image to
-PostScript&trade;</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiff2ps</b> [ <i>options</i> ] <i>input.tif
-...</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiff2ps</i> reads <small>TIFF</small> images and
-writes PostScript or Encapsulated PostScript (EPS) on the
-standard output. By default, <i>tiff2ps</i> writes
-Encapsulated PostScript for the first image in the specified
-<small>TIFF</small> image file.</p>
-<!-- INDENTATION -->
-<p>By default, <i>tiff2ps</i> will generate PostScript that
-fills a printed area specified by the <small>TIFF</small>
-tags in the input file. If the file does not contain
-<i>XResolution</i> or <i>YResolution</i> tags, then the
-printed area is set according to the image dimensions. The
-<b>&minus;w</b> and <b>&minus;h</b> options (see below) can
-be used to set the dimensions of the printed area in inches;
-overriding any relevant <small>TIFF</small> tags.</p>
-<!-- INDENTATION -->
-<p>The PostScript generated for <small>RGB,</small> palette,
-and <small>CMYK</small> images uses the <i>colorimage</i>
-operator. The PostScript generated for greyscale and bilevel
-images uses the <i>image</i> operator. When the
-<i>colorimage</i> operator is used, PostScript code to
-emulate this operator on older PostScript printers is also
-generated. Note that this emulation code can be very
-slow.</p>
-<!-- INDENTATION -->
-<p>Color images with associated alpha data are composited
-over a white background.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;1</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate PostScript Level 1 (the default).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;2</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate PostScript Level 2.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;3</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate PostScript Level 3. It basically allows one to
-use the /flateDecode filter for ZIP compressed TIFF
-images.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;8</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Disable use of ASCII85 encoding with PostScript Level 2/3.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;a</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate output for all IFDs (pages) in the input
-file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;b</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the bottom margin for the output (in inches).
-This does not affect the height of the printed image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Center the image in the output. This option only shows
-an effect if both the <b>&minus;w</b> and the
-<b>&minus;h</b> option are given.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;C</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the document creator name.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;d</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set the initial <small>TIFF</small> directory to the
-specified directory number. (NB: Directories are numbered
-starting at zero.) This option is useful for selecting
-individual pages in a multi-page (e.g. facsimile) file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;D</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Enable duplex printing (two pages per sheet of paper).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;e</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the generation of Encapsulated PostScript (implies
-<b>&minus;z</b>).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;h</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the vertical size of the printed area (in
-inches).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;H</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the maximum height of image (in inches). Images
-with larger sizes will be split in several pages. Option
-<b>&minus;L</b> may be used for specifying size of split
-images overlapping.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;i</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Enable/disable pixel interpolation. This option requires
-a single numeric value: zero to disable pixel interpolation
-and non-zero to enable. The default is enabled.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;L</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the size of overlapping for split images (in
-inches). Used in conjunction with <b>&minus;H</b> and <b>&minus;W</b>
-options.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;l</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the left margin for the output (in inches). This
-does not affect the width of the printed image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;m</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Where possible render using the <i>imagemask</i>
-PostScript operator instead of the <i>image</i> operator.
-When this option is specified <i>tiff2ps</i> will use
-<i>imagemask</i> for rendering 1 bit deep images. If this
-option is not specified or if the image depth is greater
-than 1 then the <i>image</i> operator is used.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;o</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set the initial <small>TIFF</small> directory to the
-<small>IFD</small> at the specified file offset. This option
-is useful for selecting thumbnail images and the like which
-are hidden using the <i>SubIFD</i> tag.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;O</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Write PostScript to specified file instead of standard output.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;p</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the generation of (non-Encapsulated)
-PostScript.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;P</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set optional PageOrientation DSC comment to Landscape or Portrait.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Rotate image by 180 degrees.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Generate output for a single IFD (page) in the input
-file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;t</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the document title string.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;T</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Print pages for top edge binding.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;w</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the horizontal size of the printed area (in
-inches).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;W</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the maximum width of image (in inches). Images
-with larger sizes will be split in several pages. Option
-<b>&minus;L</b> may be used for specifying size of split
-images overlapping.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;x</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Override resolution units specified in the TIFF as
-centimeters.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;y</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Override resolution units specified in the TIFF as
-inches.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;z</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>When generating PostScript Level 2, data is scaled so
-that it does not image into the <i>deadzone</i> on a page
-(the outer margin that the printing device is unable to
-mark). This option suppresses this behavior. When PostScript
-Level 1 is generated, data is imaged to the entire printed
-page and this option has no affect.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="EXAMPLES"></a>
-<h2>EXAMPLES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following generates PostScript Level 2 for all pages
-of a facsimile:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiff2ps &minus;a2 fax.tif | lpr
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Note also that if you have version 2.6.1 or newer of
-Ghostscript then you can efficiently preview facsimile
-generated with the above command.</p>
-<!-- INDENTATION -->
-<p>To generate Encapsulated PostScript for a the image at
-directory 2 of an image use:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiff2ps &minus;d 1 foo.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>(Notice that directories are numbered starting at
-zero.)</p>
-<!-- INDENTATION -->
-<p>If you have a long image, it may be split in several
-pages:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiff2ps &minus;h11 &minus;w8.5 &minus;H14 &minus;L.5 foo.tif &gt; foo.ps
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The page size is set to 8.5x11 by <b>&minus;w</b> and
-<b>&minus;h</b> options. We will accept a small amount of
-vertical compression, so <b>&minus;H</b> set to 14. Any
-pages between 11 and 14 inches will be fit onto one page.
-Pages longer than 14 inches are cut off at 11 and continued
-on the next page. The <b>&minus;L.5</b> option says to
-repeat a half inch on the next page (to improve
-readability).</p>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Because PostScript does not support the notion of a
-colormap, 8-bit palette images produce 24-bit PostScript
-images. This conversion results in output that is six times
-bigger than the original image and which takes a long time
-to send to a printer over a serial line. Matters are even
-worse for 4-, 2-, and 1-bit palette images.</p>
-<!-- INDENTATION -->
-<p>Does not handle tiled images when generating PostScript
-Level I output.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>tiffgt</b>(1), <b>tiffmedian</b>(1), <b>tiff2bw</b>(1),
-<b>tiffsv</b>(1), <b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiff2rgba.1.html b/html/man/tiff2rgba.1.html
deleted file mode 100644
index 203f7def..00000000
--- a/html/man/tiff2rgba.1.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFF2RGBA</title>
-</head>
-<body>
-
-<h1 align=center>TIFF2RGBA</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiff2rgba &minus; convert a <small>TIFF</small> image to
-RGBA color space</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiff2rgba</b> [ <i>options</i> ] <i>input.tif
-output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Tiff2rgba</i> converts a wide variety of TIFF images
-into an RGBA TIFF image. This includes the ability to
-translate different color spaces and photometric
-interpretation into RGBA, support for alpha blending, and
-translation of many different bit depths into a 32bit RGBA
-image.</p>
-<!-- INDENTATION -->
-<p>Internally this program is implemented using the
-<i>TIFFReadRGBAImage()</i> function, and it suffers any
-limitations of that image. This includes limited support for
-&gt; 8 BitsPerSample images, and flaws with some esoteric
-combinations of BitsPerSample, photometric interpretation,
-block organization and planar configuration.</p>
-<!-- INDENTATION -->
-<p>The generated images are stripped images with four
-samples per pixel (red, green, blue and alpha) or if the
-<b>&minus;n</b> flag is used, three samples per pixel (red,
-green, and blue). The resulting images are always planar
-configuration contiguous. For this reason, this program is a
-useful utility for transform exotic TIFF files into a form
-ingestible by almost any TIFF supporting software.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify a compression scheme to use when writing image
-data: <b>&minus;c none</b> for no compression (the default),
-<b>&minus;c packbits</b> for the PackBits compression
-algorithm, <b>&minus;c zip</b> for the Deflate compression
-algorithm, <b>&minus;c jpeg</b> for the JPEG compression
-algorithm, and <b>&minus;c lzw</b> for Lempel-Ziv &amp;
-Welch.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Write data with a specified number of rows per strip; by
-default the number of rows/strip is selected so that each
-strip is approximately 8 kilobytes.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;b</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Process the image one block (strip/tile) at a time
-instead of by reading the whole image into memory at once.
-This may be necessary for very large images on systems with
-limited RAM.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;n</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Drop the alpha component from the output file, producing
-a pure RGB file. Currently this does not work if the
-<b>&minus;b</b> flag is also in effect.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiff2bw</b>(1), <b>TIFFReadRGBAImage</b>(3t),
-<b>libtiff</b>(3)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffcmp.1.html b/html/man/tiffcmp.1.html
deleted file mode 100644
index d1474caf..00000000
--- a/html/man/tiffcmp.1.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:19 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFCMP</title>
-</head>
-<body>
-
-<h1 align=center>TIFFCMP</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffcmp &minus; compare two <small>TIFF</small> files</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffcmp</b> [ <i>options</i> ] <i>file1.tif
-file2.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Tiffcmp</i> compares the tags and data in two files
-created according to the Tagged Image File Format, Revision
-6.0. The schemes used for compressing data in each file are
-immaterial when data are compared&minus;data are compared on
-a scanline-by-scanline basis after decompression. Most
-directory tags are checked; notable exceptions are:
-<i>GrayResponseCurve</i>, <i>ColorResponseCurve</i>, and
-<i>ColorMap</i> tags. Data will not be compared if any of
-the <i>BitsPerSample</i>, <i>SamplesPerPixel</i>, or
-<i>ImageWidth</i> values are not equal. By default,
-<i>tiffcmp</i> will terminate if it encounters any
-difference.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;l</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>List each byte of image data that differs between the
-files.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;z</b> <i>number</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>List specified number of image data bytes that differs
-between the files.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;t</b></p>
-</td>
-<td width="11%"></td>
-<td width="52%">
-
-<p>Ignore any differences in directory tags.</p>
-</td>
-<td width="23%">
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Tags that are not recognized by the library are not
-compared; they may also generate spurious diagnostics.</p>
-<!-- INDENTATION -->
-<p>The image data of tiled files is not compared, since the
-<i>TIFFReadScanline()</i> function is used. An error will be
-reported for tiled files.</p>
-<!-- INDENTATION -->
-<p>The pixel and/or sample number reported in differences
-may be off in some exotic cases.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffcp</b>(1),
-<b>tiffmedian</b>(1), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffcp.1.html b/html/man/tiffcp.1.html
deleted file mode 100644
index a376f94e..00000000
--- a/html/man/tiffcp.1.html
+++ /dev/null
@@ -1,569 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFCP</title>
-</head>
-<body>
-
-<h1 align=center>TIFFCP</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#EXAMPLES">EXAMPLES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffcp &minus; copy (and possibly convert) a
-<small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffcp</b> [ <i>options</i> ] <i>src1.tif ... srcN.tif
-dst.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffcp</i> combines one or more files created
-according to the Tag Image File Format, Revision 6.0 into a
-single <small>TIFF</small> file. Because the output file may
-be compressed using a different algorithm than the input
-files, <i>tiffcp</i> is most often used to convert between
-different compression schemes.</p>
-<!-- INDENTATION -->
-<p>By default, <i>tiffcp</i> will copy all the understood
-tags in a <small>TIFF</small> directory of an input file to
-the associated directory in the output file.</p>
-<!-- INDENTATION -->
-<p><i>tiffcp</i> can be used to reorganize the storage
-characteristics of data in a file, but it is explicitly
-intended to not alter or convert the image data content in
-any way.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-<p><b>&minus;a</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Append to an existing output file instead of overwriting it.</p>
-</td>
-<td width="0%">
-</td>
-</tr>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-<p><b>&minus;b</b></p></td>
-<td width="5%"></td>
-<td width="80%">
-<p>subtract the following monochrome image from all others
-processed. This can be used to remove a noise bias from a
-set of images. This bias image is typically an image of
-noise the camera saw with its shutter closed.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;B</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be written with Big-Endian byte order.
-This option only has an effect when the output file is
-created or overwritten and not when it is appended to.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;C</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Suppress the use of &lsquo;&lsquo;strip
-chopping&rsquo;&rsquo; when reading images that have a
-single strip/tile of uncompressed data.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the compression to use for data written to the
-output file: <b>none</b> for no compression, <b>packbits</b>
-for PackBits compression, <b>lzw</b> for Lempel-Ziv &amp;
-Welch compression, <b>jpeg</b> for baseline JPEG
-compression, <b>zip</b> for Deflate compression, <b>g3</b>
-for CCITT Group 3 (T.4) compression, <b>g4</b> for CCITT
-Group 4 (T.6) compression, or <b>sgilog</b> for SGILOG compression.
-By default <i>tiffcp</i> will
-compress data according to the value of the
-<i>Compression</i> tag found in the source file.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>The <small>CCITT</small> Group 3 and Group 4 compression
-algorithms can only be used with bilevel data.</p>
-<!-- INDENTATION -->
-<p>Group 3 compression can be specified together with
-several T.4-specific options: <b>1d</b> for 1-dimensional
-encoding, <b>2d</b> for 2-dimensional encoding, and
-<b>fill</b> to force each encoded scanline to be zero-filled
-so that the terminating EOL code lies on a byte boundary.
-Group 3-specific options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;g3&rsquo;&rsquo; option; e.g. <b>&minus;c
-g3:2d:fill</b> to get 2D-encoded data with byte-aligned EOL
-codes.</p>
-<!-- INDENTATION -->
-<p><small>LZW</small> compression can be specified together
-with a <i>predictor</i> value. A predictor value of 2 causes
-each scanline of the output image to undergo horizontal
-differencing before it is encoded; a value of 1 forces each
-scanline to be encoded without differencing. LZW-specific
-options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
-lzw:2</b> for <small>LZW</small> compression with horizontal
-differencing.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the bit fill order to use in writing output
-data. By default, <i>tiffcp</i> will create a new file with
-the same fill order as the original. Specifying <b>&minus;f
-lsb2msb</b> will force data to be written with the FillOrder
-tag set to <small>LSB2MSB,</small> while <b>&minus;f
-msb2lsb</b> will force data to be written with the FillOrder
-tag set to <small>MSB2LSB.</small></p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;i</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Ignore non-fatal read errors and continue processing of
-the input file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;l</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the length of a tile (in pixels). <i>tiffcp</i>
-attempts to set the tile dimensions so that no more than 8
-kilobytes of data appear in a tile.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;L</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be written with Little-Endian byte
-order. This option only has an effect when the output file
-is created or overwritten and not when it is appended
-to.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;M</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Suppress the use of memory-mapped files when reading
-images.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;o</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set initial directory offset.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;p</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the planar configuration to use in writing image
-data that has one 8-bit sample per pixel. By default,
-<i>tiffcp</i> will create a new file with the same planar
-configuration as the original. Specifying <b>&minus;p
-contig</b> will force data to be written with multi-sample
-data packed together, while <b>&minus;p separate</b> will
-force samples to be written in separate planes.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the number of rows (scanlines) in each strip of
-data written to the output file. By default (or when value
-<b>0</b> is specified), <i>tiffcp</i> attempts to set the
-rows/strip that no more than 8 kilobytes of data appear in a
-strip. If you specify special value <b>&minus;1</b> it will
-results in infinite number of the rows per strip. The entire
-image will be the one strip in that case.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the output file to be written with data organized
-in strips (rather than tiles).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;t</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the output file to be written with data organized
-in tiles (rather than strips). options can be used to force
-the resultant image to be written as strips or tiles of
-data, respectively.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;w</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the width of a tile (in pixels). <i>tiffcp</i>
-attempts to set the tile dimensions so that no more than 8
-kilobytes of data appear in a tile. <i>tiffcp</i> attempts
-to set the tile dimensions so that no more than 8 kilobytes
-of data appear in a tile.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;x</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the output file to be written with PAGENUMBER value
-in sequence.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;8</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Write BigTIFF instead of classic TIFF format.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;,=</b><i>character</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>substitute <i>character</i> for &lsquo;,&rsquo; in
-parsing image directory indices in files. This is necessary
-if filenames contain commas. Note that <b>&minus;,=</b> with
-whitespace immediately following will disable the special
-meaning of the &lsquo;,&rsquo; entirely. See examples.</p>
-</td>
-</table>
-<a name="EXAMPLES"></a>
-<h2>EXAMPLES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following concatenates two files and writes the
-result using <small>LZW</small> encoding:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcp &minus;c lzw a.tif b.tif result.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>To convert a G3 1d-encoded <small>TIFF</small> to a
-single strip of G4-encoded data the following might be
-used:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcp &minus;c g4 &minus;r 10000 g3.tif g4.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>(1000 is just a number that is larger than the number of
-rows in the source file.)</p>
-<!-- INDENTATION -->
-<p>To extract a selected set of images from a multi-image
-TIFF file, the file name may be immediately followed by a
-&lsquo;,&rsquo; separated list of image directory indices.
-The first image is always in directory 0. Thus, to copy the
-1st and 3rd images of image file
-&lsquo;&lsquo;album.tif&rsquo;&rsquo; to
-&lsquo;&lsquo;result.tif&rsquo;&rsquo;:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcp album.tif,0,2 result.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>A trailing comma denotes remaining images in sequence.
-The following command will copy all image with except the
-first one:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcp album.tif,1, result.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Given file &lsquo;&lsquo;CCD.tif&rsquo;&rsquo; whose
-first image is a noise bias followed by images which include
-that bias, subtract the noise from all those images
-following it (while decompressing) with the
-command:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcp &minus;c none &minus;b CCD.tif CCD.tif,1, result.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>If the file above were named
-&lsquo;&lsquo;CCD,X.tif&rsquo;&rsquo;, the <b>&minus;,=</b>
-option would be required to correctly parse this filename
-with image numbers, as follows:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcp &minus;c none &minus;,=% &minus;b CCD,X.tif CCD,X%1%.tif result.tif
-
-</pre>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffinfo</b>(1), <b>tiffcmp</b>(1),
-<b>tiffmedian</b>(1), <b>tiffsplit</b>(1),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffcrop.1.html b/html/man/tiffcrop.1.html
deleted file mode 100644
index 4c868db9..00000000
--- a/html/man/tiffcrop.1.html
+++ /dev/null
@@ -1,684 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFCROP</title>
-</head>
-<body>
-
-<h1 align=center>TIFFCROP</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#EXAMPLES">EXAMPLES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffcrop &minus; copy (and possibly convert and crop or
-process) a <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffcrop</b> [ <i>options</i> ] <i>src1.tif ...
-srcN.tif dst.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffcrop</i> combines one or more files created
-according to the Tag Image File Format, Revision 6.0 into a
-single <small>TIFF</small> file. The output file may be
-compressed using a different algorithm than the input files.
-<i>tiffcrop</i> is most often used to extract portions of an
-image for processing with bar code recognizer or OCR
-software when that software cannot restrict the region of
-interest to a specific portion of the image or to improve
-efficiency when the regions of interest must be rotated.</p>
-<!-- INDENTATION -->
-<p>By default, <i>tiffcrop</i> will copy all the understood
-tags in a <small>TIFF</small> directory of an input file to
-the associated directory in the output file.</p>
-<!-- INDENTATION -->
-<p><i>tiffcrop</i> can be used to reorganize the storage
-characteristics of data in a file, and it will alter or
-convert the image data content as specified at the same
-time, unlike tiffcp.</p>
-<!-- INDENTATION -->
-<p><i>tiffcrop</i> will behave exactly like tiffcp if none
-of the new options are specified.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;N odd|even|#,#-#,#|last</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>sequences and ranges of images within file to process.
-The words <b>odd</b> or <b>even</b> may be used to specify
-all odd or even numbered images. The word <b>last</b> may be
-used in place of a number in the sequence to indicate the
-final image in the file without knowing how many images
-there are. Ranges of images may be specified with a dash and
-multiple sets can be indicated by joining them in a
-comma-separated list. e.g.. use <b>&minus;N 1,5-7,last</b>
-to process the 1st, 5th through 7th, and final image in the
-file.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;E top|bottom|left|right</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>use the top, bottom, left, or right edge as origin
-reference for width and length of crop regions. May be
-abbreviated to first letter.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;U in|cm|px</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>units to apply to dimensions for margins and crop
-regions. Inches or centimeters are converted to pixels using
-the resolution unit specified in the TIFF file (which
-defaults to inches if not specified in the IFD).</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;m #,#,#,#</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>margins to be removed from the image. The order must be
-top, left, bottom, right with only commas separating the
-elements of the list. Margins are scaled according to the
-current units and removed before any other extractions are
-computed. Capital M was in use.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="6%">
-
-<p><b>&minus;X #</b></p>
-</td>
-<td width="2%"></td>
-<td width="80%">
-
-<p>horizontal (X-axis) dimension of a region to extract
-relative to the specified origin reference. If the origin is
-the top or bottom edge, the X axis value will be assumed to
-start at the left edge.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="6%">
-
-<p><b>&minus;Y #</b></p>
-</td>
-<td width="2%"></td>
-<td width="80%">
-
-<p>vertical (Y-axis) dimension of a region to extract
-relative to the specified origin reference. If the origin is
-the left or right edge, the Y axis value will be assumed to
-start at the top.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;Z #:#,#:#</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>zones of the image designated as position X of Y equal
-sized portions measured from the reference edge, e.g. 1:3
-would be first third of the image starting from the
-reference edge minus any margins specified for the confining
-edges. Multiple zones can be specified as a comma separated
-list but they must reference the same edge. To extract the
-top quarter and the bottom third of an image you would use
-<b>&minus;Z 1:4,3:3.</b></p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;F horiz|vert</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>flip, i.e. mirror, the image or extracted region
-horizontally or vertically.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;R 90|180|270</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>rotate the image or extracted region 90, 180, or 270
-degrees clockwise.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;I</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>invert the colorspace values for grayscale and bi-level
-images. This would be used to correct negative images that
-have incorrect PHOTOMETRIC INTERPRETATION tags. No support
-for color images.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;b</b> <i>image</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>subtract the following monochrome image from all others
-processed. This can be used to remove a noise bias from a
-set of images. This bias image is typically an image of
-noise the camera saw with its shutter closed. Bias image
-support is not available with options for cropping,
-rotating, or inverting the image.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;B</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be written with Big-Endian byte order.
-This option only has an effect when the output file is
-created or overwritten and not when it is appended to.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;C</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Suppress the use of &lsquo;&lsquo;strip
-chopping&rsquo;&rsquo; when reading images that have a
-single strip/tile of uncompressed data.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the compression to use for data written to the
-output file: <b>none</b> for no compression, <b>packbits</b>
-for PackBits compression, <b>lzw</b> for Lempel-Ziv &amp;
-Welch compression, <b>jpeg</b> for baseline JPEG
-compression, <b>zip</b> for Deflate compression, <b>g3</b>
-for CCITT Group 3 (T.4) compression, and <b>g4</b> for CCITT
-Group 4 (T.6) compression. By default <i>tiffcrop</i> will
-compress data according to the value of the
-<i>Compression</i> tag found in the source file.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>The <small>CCITT</small> Group 3 and Group 4 compression
-algorithms can only be used with bi-level data.</p>
-<!-- INDENTATION -->
-<p>Group 3 compression can be specified together with
-several T.4-specific options: <b>1d</b> for 1-dimensional
-encoding, <b>2d</b> for 2-dimensional encoding, and
-<b>fill</b> to force each encoded scanline to be zero-filled
-so that the terminating EOL code lies on a byte boundary.
-Group 3-specific options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;g3&rsquo;&rsquo; option; e.g. <b>&minus;c
-g3:2d:fill</b> to get 2D-encoded data with byte-aligned EOL
-codes.</p>
-<!-- INDENTATION -->
-<p><small>LZW</small> compression can be specified together
-with a <i>predictor</i> value. A predictor value of 2 causes
-each scanline of the output image to undergo horizontal
-differencing before it is encoded; a value of 1 forces each
-scanline to be encoded without differencing. LZW-specific
-options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
-lzw:2</b> for <small>LZW</small> compression with horizontal
-differencing.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the bit fill order to use in writing output
-data. By default, <i>tiffcrop</i> will create a new file
-with the same fill order as the original. Specifying
-<b>&minus;f lsb2msb</b> will force data to be written with
-the FillOrder tag set to <small>LSB2MSB,</small> while
-<b>&minus;f msb2lsb</b> will force data to be written with
-the FillOrder tag set to <small>MSB2LSB.</small></p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;i</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Ignore non-fatal read errors and continue processing of
-the input file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;l</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the length of a tile (in pixels).
-<i>tiffcrop</i> attempts to set the tile dimensions so that
-no more than 8 kilobytes of data appear in a tile.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;L</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force output to be written with Little-Endian byte
-order. This option only has an effect when the output file
-is created or overwritten and not when it is appended
-to.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;M</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Suppress the use of memory-mapped files when reading
-images.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;p</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the planar configuration to use in writing image
-data that has one 8-bit sample per pixel. By default,
-<i>tiffcrop</i> will create a new file with the same planar
-configuration as the original. Specifying <b>&minus;p
-contig</b> will force data to be written with multi-sample
-data packed together, while <b>&minus;p separate</b> will
-force samples to be written in separate planes.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the number of rows (scanlines) in each strip of
-data written to the output file. By default (or when value
-<b>0</b> is specified), <i>tiffcrop</i> attempts to set the
-rows/strip that no more than 8 kilobytes of data appear in a
-strip. If you specify special value <b>-1</b> it will
-results in infinite number of the rows per strip. The entire
-image will be the one strip in that case.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the output file to be written with data organized
-in strips (rather than tiles).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;t</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the output file to be written with data organized
-in tiles (rather than strips). options can be used to force
-the resultant image to be written as strips or tiles of
-data, respectively.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;w</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the width of a tile (in pixels). <i>tiffcrop</i>
-attempts to set the tile dimensions so that no more than 8
-kilobytes of data appear in a tile. <i>tiffcrop</i> attempts
-to set the tile dimensions so that no more than 8 kilobytes
-of data appear in a tile.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;,={character}</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>substitute {character} for &rsquo;,&rsquo; in parsing
-image directory indices in files. This is necessary if
-filenames contain commas. Note that &rsquo;,=&rsquo; with
-whitespace immediately following will disable the special
-meaning of the &rsquo;,&rsquo; entirely. See examples.</p>
-</td>
-</table>
-<a name="EXAMPLES"></a>
-<h2>EXAMPLES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following concatenates two files and writes the
-result using <small>LZW</small> encoding:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcrop -c lzw a.tif b.tif result.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>To convert a G3 1d-encoded <small>TIFF</small> to a
-single strip of G4-encoded data the following might be
-used:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcrop -c g4 -r 10000 g3.tif g4.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>(1000 is just a number that is larger than the number of
-rows in the source file.)</p>
-<!-- INDENTATION -->
-<p>To extract a selected set of images from a multi-image
-TIFF file use the -N option described above. Thus, to copy
-the 1st and 3rd images of image file &quot;album.tif&quot;
-to &quot;result.tif&quot;:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcrop -N 1,3 album.tif result.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Given file &quot;CCD.tif&quot; whose first image is a
-noise bias followed by images which include that bias,
-subtract the noise from all those images following it (while
-decompressing) with the command:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffcrop -c none -b CCD.tif CCD.tif -d 2 result.tif
-</pre>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffinfo</b>(1), <b>tiffcmp</b>(1),
-<b>tiffcp</b>(1), <b>tiffmedian</b>(1), <b>tiffsplit</b>(1),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffdither.1.html b/html/man/tiffdither.1.html
deleted file mode 100644
index 40e3d6ed..00000000
--- a/html/man/tiffdither.1.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFDITHER</title>
-</head>
-<body>
-
-<h1 align=center>TIFFDITHER</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffdither &minus; convert a greyscale image to bilevel
-using dithering</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffdither</b> [ <i>options</i> ] <i>input.tif
-output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffdither</i> converts a single channel 8-bit
-greyscale image to a bilevel image using Floyd-Steinberg
-error propagation with thresholding.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Specify the compression to use for data written to the
-output file: <b>none</b> for no compression, <b>packbits</b>
-for PackBits compression, <b>lzw</b> for Lempel-Ziv &amp;
-Welch compression, <b>zip</b> for Deflate compression,
-<b>g3</b> for CCITT Group 3 (T.4) compression, and <b>g4</b>
-for CCITT Group 4 (T.6) compression. By default
-<i>tiffdither</i> will compress data according to the value
-of the <i>Compression</i> tag found in the source file.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p>The <small>CCITT</small> Group 3 and Group 4 compression
-algorithms can only be used with bilevel data.</p>
-<!-- INDENTATION -->
-<p>Group 3 compression can be specified together with
-several T.4-specific options: <b>1d</b> for 1-dimensional
-encoding, <b>2d</b> for 2-dimensional encoding, and
-<b>fill</b> to force each encoded scanline to be zero-filled
-so that the terminating EOL code lies on a byte boundary.
-Group 3-specific options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;g3&rsquo;&rsquo; option; e.g. <b>&minus;c
-g3:2d:fill</b> to get 2D-encoded data with byte-aligned EOL
-codes.</p>
-<!-- INDENTATION -->
-<p><small>LZW</small> compression can be specified together
-with a <i>predictor</i> value. A predictor value of 2 causes
-each scanline of the output image to undergo horizontal
-differencing before it is encoded; a value of 1 forces each
-scanline to be encoded without differencing. LZW-specific
-options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
-lzw:2</b> for <small>LZW</small> compression with horizontal
-differencing.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the bit fill order to use in writing output
-data. By default, <i>tiffdither</i> will create a new file
-with the same fill order as the original. Specifying
-<b>&minus;f lsb2msb</b> will force data to be written with
-the <i>FillOrder</i> tag set to <small>LSB2MSB ,</small>
-while <b>&minus;f msb2lsb</b> will force data to be written
-with the <i>Fill- Order</i> tag set to <small>MSB2LSB
-.</small></p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Make each strip have no more than the given number of rows.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;t</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set the threshold value for dithering. By default the
-threshold value is 128.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The dither algorithm is taken from the
-<b>tiffmedian</b>(1) program (written by Paul Heckbert).</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>fax2tiff</b>(1),
-<b>tiffinfo</b>(1), <b>tiffcp</b>(1), <b>tiff2bw</b>(1),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffdump.1.html b/html/man/tiffdump.1.html
deleted file mode 100644
index 7a23feb6..00000000
--- a/html/man/tiffdump.1.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFDUMP</title>
-</head>
-<body>
-
-<h1 align=center>TIFFDUMP</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffdump &minus; print verbatim information about
-<small>TIFF</small> files</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffdump</b> [ <i>options</i> ] <i>name ...</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffdump</i> displays directory information from files
-created according to the Tag Image File Format, Revision
-6.0. The header of each <small>TIFF</small> file (magic
-number, version, and first directory offset) is displayed,
-followed by the tag contents of each directory in the file.
-For each tag, the name, data type, count, and value(s) is
-displayed. When the symbolic name for a tag or data type is
-known, the symbolic name is displayed followed by it&rsquo;s
-numeric (decimal) value. Tag values are displayed enclosed
-in &lsquo;&lsquo;&lt;&gt;&rsquo;&rsquo; characters
-immediately preceded by the value of the count field. For
-example, an <i>ImageWidth</i> tag might be displayed as
-&lsquo;&lsquo;ImageWidth (256) SHORT (3)
-1&lt;800&gt;&rsquo;&rsquo;.</p>
-<!-- INDENTATION -->
-<p><i>tiffdump</i> is particularly useful for investigating
-the contents of <small>TIFF</small> files that
-<i>libtiff</i> does not understand.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;h</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Force numeric data to be printed in hexadecimal rather
-than the default decimal.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;m</b> <i>items</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>Change the number of indirect data items that are
-printed. By default, this will be 24.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;o</b> <i>offset</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>Dump the contents of the <small>IFD</small> at the a
-particular file offset. The file offset may be specified
-using the usual C-style syntax; i.e. a leading
-&lsquo;&lsquo;0x&rsquo;&rsquo; for hexadecimal and a leading
-&lsquo;&lsquo;0&rsquo;&rsquo; for octal.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffinfo</b>(1), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffgt.1.html b/html/man/tiffgt.1.html
deleted file mode 100644
index d8fcef50..00000000
--- a/html/man/tiffgt.1.html
+++ /dev/null
@@ -1,551 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFGT</title>
-</head>
-<body>
-
-<h1 align=center>TIFFGT</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffgt &minus; display an image stored in a
-<small>TIFF</small> file (Silicon Graphics version)</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffgt</b> [ <i>options</i> ] <i>input.tif ...</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffgt</i> displays one or more images stored using
-the Tag Image File Format, Revision 6.0. Each image is
-placed in a fixed size window that the user must position on
-the display (unless configured otherwise through X
-defaults). If the display has fewer than 24 bitplanes, or if
-the image does not warrant full color, then
-<small>RGB</small> color values are mapped to the closest
-values that exist in the colormap (this is done using the
-<i>rgbi</i> routine found in the graphics utility library
-<b>&minus;lgutil</b>.)</p>
-<!-- INDENTATION -->
-<p><i>tiffgt</i> correctly handles files with any of the
-following characteristics:</p></td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="3" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="34%">
-
-<p><i>BitsPerSample</i></p>
-</td>
-<td width="50%">
-
-<p>1, 2, 4, 8, 16</p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="34%">
-
-<p><i>SamplesPerPixel</i></p>
-</td>
-<td width="50%">
-
-<p>1, 3, 4 (the 4th sample is ignored)</p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="34%">
-
-<p><i>PhotometricInterpretation</i></p>
-</td>
-<td width="50%">
-
-<p>0 (min-is-white), 1 (min-is-black), 2 (RGB), 3
-(palette), 6 (YCbCr)</p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="34%">
-
-<p><i>PlanarConfiguration</i></p>
-</td>
-<td width="50%">
-
-<p>1 (contiguous), 2 (separate)</p>
-</td>
-<tr valign="top" align="left">
-<td width="15%"></td>
-<td width="34%">
-
-<p><i>Orientation</i></p>
-</td>
-<td width="50%">
-
-<p>1 (top-left), 4 (bottom-left)</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Data may be organized as strips or tiles and may be
-compressed with any of the compression algorithms supported
-by the <i>libtiff</i>(3) library.</p>
-<!-- INDENTATION -->
-<p>For palette images (<i>PhotometricInterpretation</i>=3),
-<i>tiffgt</i> inspects the colormap values and assumes
-either 16-bit or 8-bit values according to the maximum
-value. That is, if no colormap entry greater than 255 is
-found, <i>tiffgt</i> assumes the colormap has only 8-bit
-values; otherwise it assumes 16-bit values. This inspection
-is done to handle old images written by previous (incorrect)
-versions of <i>libtiff</i>.</p>
-<!-- INDENTATION -->
-<p><i>tiffgt</i> can be used to display multiple images
-one-at-a-time. The left mouse button switches the display to
-the first image in the <i>next</i> file in the list of files
-specified on the command line. The right mouse button
-switches to the first image in the <i>previous</i> file in
-the list. The middle mouse button causes the first image in
-the first file specified on the command line to be
-displayed. In addition the following keyboard commands are
-recognized:</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="4" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>b</b></p>
-</td>
-<td width="80%">
-
-<p>Use a <i>PhotometricInterpretation</i> of MinIsBlack in
-displaying the current image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>l</b></p>
-</td>
-<td width="80%">
-
-<p>Use a <i>FillOrder</i> of lsb-to-msb in decoding the
-current image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>m</b></p>
-</td>
-<td width="80%">
-
-<p>Use a <i>FillOrder</i> of msb-to-lsb in decoding the
-current image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>c</b></p>
-</td>
-<td width="80%">
-
-<p>Use a colormap visual to display the current image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>r</b></p>
-</td>
-<td width="80%">
-
-<p>Use a true color (24-bit RGB) visual to display the
-current image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>w</b></p>
-</td>
-<td width="80%">
-
-<p>Use a <i>PhotometricInterpretation</i> of MinIsWhite in
-displaying the current image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>W</b></p>
-</td>
-<td width="80%">
-
-<p>Toggle (enable/disable) display of warning messages from
-the <small>TIFF</small> library when decoding images.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>E</b></p>
-</td>
-<td width="80%">
-
-<p>Toggle (enable/disable) display of error messages from
-the <small>TIFF</small> library when decoding images.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>z</b></p>
-</td>
-<td width="80%">
-
-<p>Reset all parameters to their default settings
-(<i>FillOrder</i>, <i>PhotometricInterpretation</i>,
-handling of warnings and errors).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="8%">
-
-<p><b>PageUp</b></p>
-</td>
-<td width="80%">
-
-<p>Display the previous image in the current file or the
-last image in the previous file.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>PageDown</b></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>Display the next image in the current file or the first
-image in the next file.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="6%">
-
-<p><b>Home</b></p>
-</td>
-<td width="2%"></td>
-<td width="80%">
-
-<p>Display the first image in the current file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="6%">
-
-<p><b>End</b></p>
-</td>
-<td width="2%"></td>
-<td width="80%">
-
-<p>Display the last image in the current file
-(unimplemented).</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force image display in a colormap window.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;d</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify an image to display by directory number. By
-default the first image in the file is displayed.
-Directories are numbered starting at zero.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;e</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Enable reporting of error messages from the
-<small>TIFF</small> library. By default <i>tiffgt</i>
-silently ignores images that cannot be read.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force <i>tiffgt</i> to run as a foreground process. By
-default <i>tiffgt</i> will place itself in the background
-once it has opened the requested image file.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;l</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the presumed bit ordering to be <small>LSB</small>
-to <small>MSB.</small></p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;m</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force the presumed bit ordering to be <small>MSB</small>
-to <small>LSB.</small></p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;o</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify an image to display by directory offset. By
-default the first image in the file is displayed.
-Directories offsets may be specified using C-style syntax;
-i.e. a leading &lsquo;&lsquo;0x&rsquo;&rsquo; for
-hexadecimal and a leading &lsquo;&lsquo;0&rsquo;&rsquo; for
-octal.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;p</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Override the value of the
-<i>PhotometricInterpretation</i> tag; the parameter may be
-one of: <b>miniswhite</b>, <b>minisblack</b>, <b>rgb</b>,
-<b>palette</b>, <b>mask</b>, <b>separated</b>, <b>ycbcr</b>,
-and <b>cielab</b>.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Force image display in a full color window.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Stop on the first read error. By default all errors in
-the input data are ignored and <i>tiffgt</i> does it&rsquo;s
-best to display as much of an image as possible.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;w</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Enable reporting of warning messages from the
-<small>TIFF</small> library. By default <i>tiffgt</i>
-ignores warning messages generated when reading an
-image.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;v</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Place information in the title bar describing what type
-of window (full color or colormap) is being used, the name
-of the input file, and the directory index of the image (if
-non-zero). By default, the window type is not shown in the
-title bar.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Images wider and taller than the display are silently
-truncated to avoid crashing old versions of the window
-manager.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffdump</b>(1), <b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffinfo.1.html b/html/man/tiffinfo.1.html
deleted file mode 100644
index 9accdd51..00000000
--- a/html/man/tiffinfo.1.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFINFO</title>
-</head>
-<body>
-
-<h1 align=center>TIFFINFO</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffinfo &minus; print information about
-<small>TIFF</small> files</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffinfo</b> [ <i>options</i> ] <i>input.tif
-...</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Tiffinfo</i> displays information about files created
-according to the Tag Image File Format, Revision 6.0. By
-default, the contents of each <small>TIFF</small> directory
-in each file is displayed, with the value of each tag shown
-symbolically (where sensible).</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Display the colormap and color/gray response curves, if
-present.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;D</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>In addition to displaying the directory tags, read and
-decompress all the data in each image (but not display
-it).</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;d</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>In addition to displaying the directory tags, print each
-byte of decompressed data in hexadecimal.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;j</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Display any <small>JPEG</small> -related tags that are
-present.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;o</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set the initial <small>TIFF</small> directory according
-to the specified file offset. The file offset may be
-specified using the usual C-style syntax; i.e. a leading
-&lsquo;&lsquo;0x&rsquo;&rsquo; for hexadecimal and a leading
-&lsquo;&lsquo;0&rsquo;&rsquo; for octal.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;s</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Display the offsets and byte counts for each data strip
-in a directory.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;z</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Enable strip chopping when reading image data.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="3%">
-
-<p><b>&minus;#</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Set the initial <small>TIFF</small> directory to
-<i>#</i>.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffcp</b>(1), <b>tiffcmp</b>(1),
-<b>tiffmedian</b>(1), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffmedian.1.html b/html/man/tiffmedian.1.html
deleted file mode 100644
index ec6d0b1c..00000000
--- a/html/man/tiffmedian.1.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFMEDIAN</title>
-</head>
-<body>
-
-<h1 align=center>TIFFMEDIAN</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#NOTES">NOTES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffmedian &minus; apply the median cut algorithm to data
-in a <small>TIFF</small> file</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffmedian</b> [ <i>options</i> ] <i>input.tif
-output.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffmedian</i> applies the median cut algorithm to an
-<small>RGB</small> image in <i>input.tif</i> to generate a
-palette image that is written to <i>output.tif</i>. The
-generated colormap has, by default, 256 entries. The image
-data is quantized by mapping each pixel to the closest color
-values in the colormap.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="11%"></td>
-<td width="2%">
-
-<p><b>&minus;c</b></p>
-</td>
-<td width="5%"></td>
-<td width="80%">
-
-<p>Specify the compression to use for data written to the
-output file: <b>none</b> for no compression, <b>packbits</b>
-for PackBits compression, <b>lzw</b> for Lempel-Ziv &amp;
-Welch compression, and <b>zip</b> for Deflate compression.
-By default <i>tiffmedian</i> will compress data according to
-the value of the <i>Compression</i> tag found in the source
-file.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<p><small>LZW</small> compression can be specified together
-with a <i>predictor</i> value. A predictor value of 2 causes
-each scanline of the output image to undergo horizontal
-differencing before it is encoded; a value of 1 forces each
-scanline to be encoded without differencing. LZW-specific
-options are specified by appending a
-&lsquo;&lsquo;:&rsquo;&rsquo;-separated list to the
-&lsquo;&lsquo;lzw&rsquo;&rsquo; option; e.g. <b>&minus;c
-lzw:2</b> for <small>LZW</small> compression with horizontal
-differencing.</p>
-</td>
-</table>
-<!-- TABS -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="5" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;C</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Specify the number of entries to use in the generated
-colormap. By default all 256 entries/colors are used.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;f</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Apply Floyd-Steinberg dithering before selecting a
-colormap entry.</p>
-</td>
-<td width="0%">
-</td>
-<tr valign="top" align="left">
-<td width="10%"></td>
-<td width="2%">
-
-<p><b>&minus;r</b></p>
-</td>
-<td width="6%"></td>
-<td width="80%">
-
-<p>Specify the number of rows (scanlines) in each strip of
-data written to the output file. By default,
-<i>tiffmedian</i> attempts to set the rows/strip that no
-more than 8 kilobytes of data appear in a strip.</p>
-</td>
-<td width="0%">
-</td>
-</table>
-<a name="NOTES"></a>
-<h2>NOTES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>This program is derived from Paul Heckbert&rsquo;s
-<i>median</i> program.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>pal2rgb</b>(1), <b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>tiffcmp</b>(1), <b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p><b>Color Image Quantization for Frame Buffer Display</b>,
-Paul Heckbert, SIGGRAPH proceedings, 1982, pp. 297-307.</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffset.1.html b/html/man/tiffset.1.html
deleted file mode 100644
index 0c30b010..00000000
--- a/html/man/tiffset.1.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFSET</title>
-</head>
-<body>
-
-<h1 align=center>TIFFSET</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#EXAMPLES">EXAMPLES</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffset &minus; set a field in a <small>TIFF</small>
-header</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffset</b> [ <i>options</i> ] <i>filename.tif</i></p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>Tiffset</i> sets the value of a <small>TIFF</small>
-header to a specified value.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;s</b> <i>tagnumber</i> [ <i>count</i> ]
-<i>value ...</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>Set the value of the named tag to the value or values
-specified.</p>
-</td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>&minus;sf</b> <i>tagnumber filename</i></p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="19%"></td>
-<td width="80%">
-<p>Set the value of the tag to the contents of filename.
-This option is supported for ASCII tags only.</p>
-</td>
-</table>
-<a name="EXAMPLES"></a>
-<h2>EXAMPLES</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following example sets the image description tag
-(270) of a.tif to the contents of the file descrip:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffset &minus;sf 270 descrip a.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>The following example sets the artist tag (315) of a.tif
-to the string
-&lsquo;&lsquo;Anonymous&rsquo;&rsquo;:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffset &minus;s 305 Anonymous a.tif
-</pre>
-</td>
-</table>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>This example sets the resolution of the file a.tif to 300
-dpi:</p></td>
-</table>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="17%"></td>
-<td width="82%">
-<pre>tiffset &minus;s 296 2 a.tif
-tiffset &minus;s 282 300.0 a.tif
-tiffset &minus;s 283 300.0 a.tif
-</pre>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffdump</b>(1), <b>tiffinfo</b>(1), <b>tiffcp</b>(1),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/man/tiffsplit.1.html b/html/man/tiffsplit.1.html
deleted file mode 100644
index 5cf8dd85..00000000
--- a/html/man/tiffsplit.1.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!-- Creator : groff version 1.18.1 -->
-<!-- CreationDate: Sat Feb 24 18:37:20 2007 -->
-<html>
-<head>
-<meta name="generator" content="groff -Thtml, see www.gnu.org">
-<meta name="Content-Style" content="text/css">
-<title>TIFFSPLIT</title>
-</head>
-<body>
-
-<h1 align=center>TIFFSPLIT</h1>
-<a href="#NAME">NAME</a><br>
-<a href="#SYNOPSIS">SYNOPSIS</a><br>
-<a href="#DESCRIPTION">DESCRIPTION</a><br>
-<a href="#OPTIONS">OPTIONS</a><br>
-<a href="#BUGS">BUGS</a><br>
-<a href="#SEE ALSO">SEE ALSO</a><br>
-
-<hr>
-<a name="NAME"></a>
-<h2>NAME</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>tiffsplit &minus; split a multi-image <small>TIFF</small>
-into single-image <small>TIFF</small> files</p>
-</td>
-</table>
-<a name="SYNOPSIS"></a>
-<h2>SYNOPSIS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffsplit</b> <i>src.tif</i> [ <i>prefix</i> ]</p>
-</td>
-</table>
-<a name="DESCRIPTION"></a>
-<h2>DESCRIPTION</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><i>tiffsplit</i> takes a multi-directory (page)
-<small>TIFF</small> file and creates one or more
-single-directory (page) <small>TIFF</small> files from it.
-The output files are given names created by concatenating a
-prefix, a lexically ordered suffix in the range
-[<i>aaa</i>-<i>zzz</i>], the suffix <i>.tif</i> (e.g.
-<i>xaaa.tif</i>, <i>xaab.tif</i>, <i>xzzz.tif</i>). If a
-prefix is not specified on the command line, the default
-prefix of <i>x</i> is used.</p>
-</td>
-</table>
-<a name="OPTIONS"></a>
-<h2>OPTIONS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>None.</p>
-</td>
-</table>
-<a name="BUGS"></a>
-<h2>BUGS</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p>Only a select set of &lsquo;&lsquo;known
-tags&rsquo;&rsquo; is copied when splitting.</p>
-</td>
-</table>
-<a name="SEE ALSO"></a>
-<h2>SEE ALSO</h2>
-<!-- INDENTATION -->
-<table width="100%" border=0 rules="none" frame="void"
- cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="8%"></td>
-<td width="91%">
-<p><b>tiffcp</b>(1), <b>tiffinfo</b>(1),
-<b>libtiff</b>(3TIFF)</p>
-<!-- INDENTATION -->
-<p>Libtiff library home page:
-<b>http://www.simplesystems.org/libtiff/</b></p>
-</td>
-</table>
-<hr>
-</body>
-</html>
diff --git a/html/support.html b/html/support.html
deleted file mode 100644
index e29d2d0d..00000000
--- a/html/support.html
+++ /dev/null
@@ -1,655 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en">
-<head>
- <title>TIFF 6.0 Specification Coverage</title>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- <meta http-equiv="content-language" content="en">
- <style type="text/css">
- <!--
- th {text-align: left; vertical-align: top; font-style: italic; font-weight: normal}
- -->
- </style>
-</head>
-<body lang="en">
- <table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td style="padding-left: 1em; padding-right: 1em"><img src="images/strike.gif" width="128" height="100" alt=""></td>
- <td>
- <h1>TIFF 6.0 Specification Coverage</h1>
- <p>
- The library is capable of dealing with images that are written to
- follow the 5.0 or 6.0 TIFF spec. There is also considerable support
- for some of the more esoteric portions of the 6.0 TIFF spec.
- </p>
- </td>
- </tr>
- </table>
- <br>
- <table border="1" cellspacing="0" cellpadding="5">
- <tr>
- <th>Core requirements</th>
- <td>
- <p>
- Both <tt>"MM"</tt> and <tt>"II"</tt> byte orders are handled.
- Both packed and separated planar configuration of samples.
- Any number of samples per pixel (memory permitting).
- Any image width and height (memory permitting).
- Multiple subfiles can be read and written.
- Editing is <b>not</b> supported in that related subfiles (e.g.
- a reduced resolution version of an image) are not automatically
- updated.
- </p>
- <p>
- Tags handled: <tt>ExtraSamples</tt>, <tt>ImageWidth</tt>,
- <tt>ImageLength</tt>, <tt>NewSubfileType</tt>, <tt>ResolutionUnit</tt>.
- <tt>Rowsperstrip</tt>, <tt>StripOffsets</tt>, <tt>StripByteCounts</tt>,
- <tt>XResolution</tt>, <tt>YResolution</tt>
- </p>
- </td>
- </tr>
- <tr>
- <th>Tiled Images</th>
- <td><tt>TileWidth</tt>, <tt>TileLength</tt>, <tt>TileOffsets</tt>,
- <tt>TileByteCounts</tt></td>
- </tr>
- <tr>
- <th>Image Colorimetry Information</th>
- <td><tt>WhitePoint</tt>, <tt>PrimaryChromaticities</tt>, <tt>TransferFunction</tt>,
- <tt>ReferenceBlackWhite</tt></td>
- </tr>
- <tr>
- <th>Class B for bilevel images</th>
- <td><tt>SamplesPerPixel</tt> = 1<br>
- <tt>BitsPerSample</tt> = 1<br>
- <tt>Compression</tt> = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)<br>
- <tt>PhotometricInterpretation</tt> = 0 (Min-is-White), 1 (Min-is-Black)</td>
- </tr>
- <tr>
- <th>Class G for grayscale images</th>
- <td><tt>SamplesPerPixel</tt> = 1<br>
- <tt>BitsPerSample</tt> = 4, 8<br>
- <tt>Compression</tt> = 1 (none) 5 (LZW)<br>
- <tt>PhotometricInterpretation</tt> = 0 (Min-is-White), 1 (Min-is-Black)</td>
- </tr>
- <tr>
- <th>Class P for palette color images</th>
- <td><tt>SamplesPerPixel</tt> = 1<br>
- <tt>BitsPerSample</tt> = 1-8<br>
- <tt>Compression</tt> = 1 (none) 5 (LZW)<br>
- <tt>PhotometricInterpretation</tt> = 3 (Palette RGB)<br>
- <tt>ColorMap</tt></td>
- </tr>
- <tr>
- <th>Class R for RGB full color images</th>
- <td><tt>SamplesPerPixel</tt> = 3<br>
- <tt>BitsPerSample</tt> = &lt;8,8,8&gt;<br>
- <tt>PlanarConfiguration</tt> = 1, 2<br>
- <tt>Compression</tt> = 1 (none) 5 (LZW)<br>
- <tt>PhotometricInterpretation</tt> = 2 (RGB)</td>
- </tr>
- <tr>
- <th>Class F for facsimile</th>
- <td>(<i>Class B tags plus...</i>)<br>
- <tt>Compression</tt> = 3 (CCITT Group 3), 4 (CCITT Group 4)<br>
- <tt>FillOrder</tt> = 1 (MSB), 2 (LSB)<br>
- <tt>Group3Options</tt> = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)<br>
- <tt>ImageWidth</tt> = 1728, 2048, 2482<br>
- <tt>NewSubFileType</tt> = 2<br>
- <tt>ResolutionUnit</tt> = 2 (Inch), 3 (Centimeter)<br>
- <tt>PageNumber</tt>,
- <tt>XResolution</tt>,
- <tt>YResolution</tt>,
- <tt>Software</tt>,
- <tt>BadFaxLines</tt>,
- <tt>CleanFaxData</tt>,
- <tt>ConsecutiveBadFaxLines</tt>,
- <tt>DateTime</tt>,
- <tt>DocumentName</tt>,
- <tt>ImageDescription</tt>,
- <tt>Orientation</tt></td>
- </tr>
- <tr>
- <th>Class S for separated images</th>
- <td><tt>SamplesPerPixel</tt> = 4<br>
- <tt>PlanarConfiguration</tt> = 1, 2<br>
- <tt>Compression</tt> = 1 (none), 5 (LZW)<br>
- <tt>PhotometricInterpretation</tt> = 5 (Separated)<br>
- <tt>InkSet</tt> = 1 (CMYK)<br>
- <tt>DotRange</tt>,
- <tt>InkNames</tt>,
- <tt>DotRange</tt>,
- <tt>TargetPrinter</tt></td>
- </tr>
- <tr>
- <th>Class Y for YCbCr images</th>
- <td><tt>SamplesPerPixel</tt> = 3<br>
- <tt>BitsPerSample</tt> = &lt;8,8,8&gt;<br>
- <tt>PlanarConfiguration</tt> = 1, 2<br>
- <tt>Compression</tt> = 1 (none), 5 (LZW), 7 (JPEG)<br>
- <tt>PhotometricInterpretation</tt> = 6 (YCbCr)<br>
- <tt>YCbCrCoefficients</tt>,
- <tt>YCbCrSubsampling</tt>,
- <tt>YCbCrPositioning</tt><br>
- (<i>colorimetry info from Appendix H; see above</i>)</td>
- </tr>
- <tr>
- <th>Class "JPEG" for JPEG images (per TTN2)</th>
- <td><tt>PhotometricInterpretation</tt> = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)<br>
- (<i>Class Y tags if YCbCr</i>)<br>
- (<i>Class S tags if CMYK</i>)<br>
- <tt>Compression</tt> = 7 (JPEG)</td>
- </tr>
- </table>
- <p>
- In addition, the library supports some optional compression algorithms
- that are, in some cases, of dubious value.
- </p>
- <table border="0" cellspacing="0" cellpadding="2">
- <tr><th>Compression tag value</th><th>Compression algorithm</th></tr>
- <tr><td>32766</td><td>NeXT 2-bit encoding</td></tr>
- <tr><td>32809</td><td>ThunderScan 4-bit encoding</td></tr>
- <tr><td>32909</td><td>Pixar companded 11-bit ZIP encoding</td></tr>
- <tr><td>32946</td><td>PKZIP-style Deflate encoding (experimental)</td></tr>
- <tr><td>34676</td><td>SGI 32-bit Log Luminance encoding (experimental)</td></tr>
- <tr><td>34677</td><td>SGI 24-bit Log Luminance encoding (experimental)</td></tr>
- </table>
- <br>
- <p>
- Note that there is no support for the JPEG-related tags defined
- in the 6.0 specification; the JPEG support is based on the post-6.0
- proposal given in TIFF Technical Note #2.
- </p>
- <table>
- <tr>
- <td valign=top><img src="images/info.gif" width="32" height="32" alt=""></td>
- <td>For more information on the experimental Log Luminance encoding
- consult the materials available at
- <a href="http://www.anyhere.com/gward/pixformat/tiffluv.html">http://www.anyhere.com/gward/pixformat/tiffluv.html</a>.</td>
- </tr>
- </table>
- <br>
- <p>
- The following table shows the tags that are recognized
- and how they are used by the library. If no use is indicated,
- then the library reads and writes the tag, but does not use it internally.
- </p>
- <table border="1" cellspacing="0" cellpadding="5">
- <tr>
- <th>Tag Name</th>
- <th>Value</th>
- <th>R/W</th>
- <th>Library's Use (Comments)</th>
- </tr>
- <tr>
- <td><tt>NewSubFileType</tt></td>
- <td>254</td>
- <td>R/W</td>
- <td>none (called <tt>SubFileType</tt> in &lt;tiff.h&gt;)</td>
- </tr>
- <tr>
- <td><tt>SubFileType</tt></td>
- <td>255</td>
- <td>R/W</td>
- <td>none (called <tt>OSubFileType</tt> in &lt;tiff.h&gt;)</td>
- </tr>
- <tr>
- <td><tt>ImageWidth</tt></td>
- <td>256</td>
- <td>R/W</td>
- <td>lots</td>
- </tr>
- <tr>
- <td><tt>ImageLength</tt></td>
- <td>257</td>
- <td>R/W</td>
- <td>lots</td>
- </tr>
- <tr>
- <td><tt>BitsPerSample</tt></td>
- <td>258</td>
- <td>R/W</td>
- <td>lots</td>
- </tr>
- <tr>
- <td><tt>Compression</tt></td>
- <td>259</td>
- <td>R/W</td>
- <td>to select appropriate codec</td>
- </tr>
- <tr>
- <td><tt>PhotometricInterpretation</tt></td>
- <td>262</td>
- <td>R/W</td>
- <td>lots</td>
- </tr>
- <tr>
- <td><tt>Thresholding</tt></td>
- <td>263</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>CellWidth</tt></td>
- <td>264</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>CellLength</tt></td>
- <td>265</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>FillOrder</tt></td>
- <td>266</td>
- <td>R/W</td>
- <td>control bit order</td>
- </tr>
- <tr>
- <td><tt>DocumentName</tt></td>
- <td>269</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ImageDescription</tt></td>
- <td>270</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>Make</tt></td>
- <td>271</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>Model</tt></td>
- <td>272</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>StripOffsets</tt></td>
- <td>273</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>Orientation</tt></td>
- <td>274</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>SamplesPerPixel</tt></td>
- <td>277</td>
- <td>R/W</td>
- <td>lots</td>
- </tr>
- <tr>
- <td><tt>RowsPerStrip</tt></td>
- <td>278</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>StripByteCounts</tt></td>
- <td>279</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>MinSampleValue</tt></td>
- <td>280</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>MaxSampleValue</tt></td>
- <td>281</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>XResolution</tt></td>
- <td>282</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>YResolution</tt></td>
- <td>283</td>
- <td>R/W</td>
- <td>used by Group 3 2d encoder</td>
- </tr>
- <tr>
- <td><tt>PlanarConfiguration</tt></td>
- <td>284</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>PageName</tt></td>
- <td>285</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>XPosition</tt></td>
- <td>286</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>YPosition</tt></td>
- <td>286</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>FreeOffsets</tt></td>
- <td>288</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>FreeByteCounts</tt></td>
- <td>289</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>GrayResponseUnit</tt></td>
- <td>290</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>GrayResponseCurve</tt></td>
- <td>291</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>Group3Options</tt></td>
- <td>292</td>
- <td>R/W</td>
- <td>used by Group 3 codec</td>
- </tr>
- <tr>
- <td><tt>Group4Options</tt></td>
- <td>293</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ResolutionUnit</tt></td>
- <td>296</td>
- <td>R/W</td>
- <td>used by Group 3 2d encoder</td>
- </tr>
- <tr>
- <td><tt>PageNumber</tt></td>
- <td>297</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ColorResponseUnit</tt></td>
- <td>300</td>
- <td>&nbsp;</td>
- <td>parsed but ignored</td>
- </tr>
- <tr>
- <td><tt>TransferFunction</tt></td>
- <td>301</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>Software</tt></td>
- <td>305</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>DateTime</tt></td>
- <td>306</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>Artist</tt></td>
- <td>315</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>HostComputer</tt></td>
- <td>316</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>Predictor</tt></td>
- <td>317</td>
- <td>R/W</td>
- <td>used by LZW codec</td>
- </tr>
- <tr>
- <td><tt>WhitePoint</tt></td>
- <td>318</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>PrimaryChromacities</tt></td>
- <td>319</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ColorMap</tt></td>
- <td>320</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>TileWidth</tt></td>
- <td>322</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>TileLength</tt></td>
- <td>323</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>TileOffsets</tt></td>
- <td>324</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>TileByteCounts</tt></td>
- <td>324</td>
- <td>R/W</td>
- <td>data i/o</td>
- </tr>
- <tr>
- <td><tt>BadFaxLines</tt></td>
- <td>326</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>CleanFaxData</tt></td>
- <td>327</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ConsecutiveBadFaxLines</tt></td>
- <td>328</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>SubIFD</tt></td>
- <td>330</td>
- <td>R/W</td>
- <td>subimage descriptor support</td>
- </tr>
- <tr>
- <td><tt>InkSet</tt></td>
- <td>332</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>InkNames</tt></td>
- <td>333</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>DotRange</tt></td>
- <td>336</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>TargetPrinter</tt></td>
- <td>337</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ExtraSamples</tt></td>
- <td>338</td>
- <td>R/W</td>
- <td>lots</td>
- </tr>
- <tr>
- <td><tt>SampleFormat</tt></td>
- <td>339</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>SMinSampleValue</tt></td>
- <td>340</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>SMaxSampleValue</tt></td>
- <td>341</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>JPEGTables</tt></td>
- <td>347</td>
- <td>R/W</td>
- <td>used by JPEG codec</td>
- </tr>
- <tr>
- <td><tt>YCbCrCoefficients</tt></td>
- <td>529</td>
- <td>R/W</td>
- <td>used by <tt>TIFFReadRGBAImage</tt> support</td>
- </tr>
- <tr>
- <td><tt>YCbCrSubsampling</tt></td>
- <td>530</td>
- <td>R/W</td>
- <td>tile/strip size calculations</td>
- </tr>
- <tr>
- <td><tt>YCbCrPositioning</tt></td>
- <td>531</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>ReferenceBlackWhite</tt></td>
- <td>532</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- <tr>
- <td><tt>Matteing</tt></td>
- <td>32995</td>
- <td>R</td>
- <td>none (obsoleted by <tt>ExtraSamples</tt> tag)</td>
- </tr>
- <tr>
- <td><tt>DataType</tt></td>
- <td>32996</td>
- <td>R</td>
- <td>none (obsoleted by <tt>SampleFormat</tt> tag)</td>
- </tr>
- <tr>
- <td><tt>ImageDepth</tt></td>
- <td>32997</td>
- <td>R/W</td>
- <td>tile/strip calculations</td>
- </tr>
- <tr>
- <td><tt>TileDepth</tt></td>
- <td>32998</td>
- <td>R/W</td>
- <td>tile/strip calculations</td>
- </tr>
- <tr>
- <td><tt>StoNits</tt></td>
- <td>37439</td>
- <td>R/W</td>
- <td>&nbsp;</td>
- </tr>
- </table>
- <p>
- The <tt>Matteing</tt> and <tt>DataType</tt>
- tags have been obsoleted by the 6.0
- <tt>ExtraSamples</tt> and <tt>SampleFormat</tt> tags.
- Consult the documentation on the
- <tt>ExtraSamples</tt> tag and Associated Alpha for elaboration. Note however
- that if you use Associated Alpha, you are expected to save data that is
- pre-multipled by Alpha. If this means nothing to you, check out
- Porter &amp; Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital
- Images".
- </p>
- <p>
- The <tt>ImageDepth</tt>
- tag is a non-standard, but registered tag that specifies
- the Z-dimension of volumetric data. The combination of <tt>ImageWidth</tt>,
- <tt>ImageLength</tt>, and <tt>ImageDepth</tt>,
- defines a 3D volume of pixels that are
- further specified by <tt>BitsPerSample</tt> and
- <tt>SamplesPerPixel</tt>. The <tt>TileDepth</tt>
- tag (also non-standard, but registered) can be used to specified a
- subvolume "tiling" of a volume of data.
- </p>
- <p>
- The Colorimetry, and CMYK tags are additions that appear in TIFF 6.0.
- Consult the TIFF 6.0 specification included in the <b>doc</b> directory
- and <a href="document.html">online</a>.
- </p>
- <p>
- The JPEG-related tag is specified in
- <a href="TIFFTechNote2.html">TIFF Technical Note #2</a> which defines
- a revised JPEG-in-TIFF scheme (revised over that appendix that was
- part of the TIFF 6.0 specification).
- </p>
- <hr>
- <p>
- Last updated: $Date: 2016-09-25 20:05:45 $
- </p>
-</body>
-</html>
-
diff --git a/html/tools.html b/html/tools.html
deleted file mode 100644
index d567ad8a..00000000
--- a/html/tools.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>TIFF Tools Overview</title>
-<style type="text/css">
-body {
-font-family: Arial, Helvetica, Sans;
-}
-</style>
-</head>
-<body>
-<h1><img src="images/quad.jpg" width="144" height="108" align="left" border="1" hspace="6" alt="quad">
-TIFF Tools Overview</h1>
-<p>This software distribution comes with a small collection of
-programs for converting non-TIFF format images to TIFF and for
-manipulating and interrogating the contents of TIFF images. Several
-of these tools are useful in their own right. Many of them however
-are more intended to serve as programming examples for using the
-TIFF library.</p>
-<h3>Device-dependent Programs</h3>
-There are two device-dependent programs that serve as simple
-examples for writing programs to display and save TIFF images.
-<table border cellpadding="3">
-<tr>
-<td valign="top" width="10%">
-<tt><a href="man/tiffgt.1.html">tiffgt</a>&nbsp;&nbsp;&nbsp;&nbsp;</tt></td>
-<td>Display the contents of one or more TIFF images using OpenGL.
-The software makes extensive use of the <tt>TIFFRGBAImage</tt>
-facilities described elsewhere.</td>
-</tr>
-</table>
-<h3>Device-independent Programs</h3>
-The remaining programs should be device-independent:
-<table border cellpadding="3">
-<tr>
-<td valign="top" width="10%"><tt><a href="man/fax2ps.1.html">fax2ps</a></tt></td>
-<td>Convert a Group 3- or Group 4- compressed TIFF to PostScript
-that is significantly more compressed than is generated by
-<tt>tiff2ps</tt> (unless <tt>tiff2ps</tt> writes PS Level II)</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/fax2tiff.1.html">fax2tiff</a></tt></td>
-<td>Convert raw Group 3 or Group 4 facsimile data to TIFF</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/pal2rgb.1.html">pal2rgb</a></tt></td>
-<td>Convert a Palette-style image to a full color RGB image by
-applying the colormap</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/ppm2tiff.1.html">ppm2tiff</a></tt></td>
-<td>A quick hack that converts 8-bit PPM format images to TIFF</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/raw2tiff.1.html">raw2tiff</a></tt></td>
-<td>Create a TIFF file from raw data</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/rgb2ycbcr.1.html">rgb2ycbcr</a></tt></td>
-<td>Convert an RGB, grayscale, or bilevel TIFF image to a YCbCr
-TIFF image; it's mainly provided for testing</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/thumbnail.1.html">thumbnail</a></tt></td>
-<td>Copy a bilevel TIFF to one that includes 8-bit greyscale
-"thumbnail images" for each page; it is provided as an example of
-how one might use the <tt>SubIFD</tt> tag (and the library support
-for it)</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiff2bw.1.html">tiff2bw</a></tt></td>
-<td>A simple program to convert a color image to grayscale</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiff2pdf.1.html">tiff2pdf</a></tt></td>
-<td>Convert TIFF images to PDF</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiff2ps.1.html">tiff2ps</a></tt></td>
-<td>Convert TIFF images to PostScript</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiff2rgba.1.html">tiff2rgba</a></tt></td>
-<td>Convert a TIFF image to RGBA color space</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffcmp.1.html">tiffcmp</a></tt></td>
-<td>Compare the contents of two TIFF files (it does not check all
-the directory information, but does check all the data)</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffcp.1.html">tiffcp</a></tt></td>
-<td>Copy, concatenate, and convert TIFF images (e.g. switching from
-Compression=5 to Compression=1)</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffcrop.1.html">tiffcrop</a></tt></td>
-<td>Provides selection of images from within one or more multi-image
-TIFF files, with orthogonal rotation, mirroring, cropping, and
-extraction of multiple sections and exporting to one or more files.
-It extends the functionality of tiffcp to support additional bit
-depths in strips and tiles and enhances the selection capabilities of
-tiffsplit. Bilevel images can be inverted and images may be split into
-segments to fit on multiple /pages/ (standard paper sizes), plus other
-functions described in the tiffcrop man page</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffdither.1.html">tiffdither</a></tt></td>
-<td>Dither a b&amp;w image into a bilevel image (suitable for use
-in creating fax files)</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffdump.1.html">tiffdump</a></tt></td>
-<td>Display the verbatim contents of the TIFF directory in a file
-(it's very useful for debugging bogus files that you may get from
-someone that claims they support TIFF)</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffinfo.1.html">tiffinfo</a></tt></td>
-<td>Display information about one or more TIFF files.</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffmedian.1.html">tiffmedian</a></tt></td>
-<td>A version of Paul Heckbert's median cut program that reads an
-RGB TIFF image, and creates a TIFF palette file as a result</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffset.1.html">tiffset</a></tt></td>
-<td>Set a field in a TIFF header</td>
-</tr>
-<tr>
-<td valign="top" width="10%"><tt><a href="man/tiffsplit.1.html">tiffsplit</a></tt></td>
-<td>Create one or more single-image files from a (possibly)
-multi-image file</td>
-</tr>
-</table>
-<p>Check out the manual pages for details about the above
-programs.</p>
-<hr>
-Last updated: $Date: 2016-06-05 19:54:00 $
-</body>
-</html>
diff --git a/html/v3.4beta007.html b/html/v3.4beta007.html
deleted file mode 100644
index 77c6ac8d..00000000
--- a/html/v3.4beta007.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta007
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta007<BR>
-<B>Previous Version</B>: v3.4beta004<BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#port">Changes in the portability support</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>bit order was corrected for Pentium systems
-<LI>a new define, <TT>HOST_BIGENDIAN</TT>, was added for code that
- wants to statically use information about native cpu byte order
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>the G3/G4 decoder was replaced by a new one that is faster and
- has smaller state tables
-<LI>Niles Ritter's client tag extension hooks were added
-<LI>a new routine <TT>TIFFCurrentDirOffset</TT> was added for
- applications that want to find out the file offset of a TIFF directory
-<LI>the calculation of the number of strips in an image was corrected
- for images with certain esoteric configurations
-<LI>a potential memory leak (very unlikely) was plugged
-<LI>the <TT>TIFFReadRGBAImage</TT> support was completely rewritten
- and new, more flexible support was added for reading images into
- a fixed-format raster
-<LI>YCbCr to RGB conversion done in the <TT>TIFFReadRGBAImage</TT> support
- was optimized
-<LI>a bug in JPEG support calculation of strip size was corrected
-<LI>the LZW decoder was changed to initialize the code table to zero
- to lessen potential problems that arise when invalid data is decoded
-<LI><B>tiffcomp.h</B> is now aware of OS/2
-<LI>some function prototypes in <B>tiffio.h</B> and <B>tiffiop.h</B>
- that contained parameter
- names have been changed to avoid complaints from certain compilers
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="port"><B><FONT SIZE=+3>C</FONT>HANGES IN THE PORTABILITY SUPPORT:</B></A>
-
-<UL>
-<LI><B>Makefile.in</B> has been corrected to use the parameters
- chosen by the configure script
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI><TT>fax2ps</TT> has been rewritten and moved over from the user
- contributed software
-<LI>an uninitialized variable in <TT>pal2rgb</TT> has been fixed
-<LI><TT>ras2tiff</TT> now converts 24-bit RGB raster data so that
- samples are written in the proper order
-<LI><TT>tiff2ps</TT> has been updated to include fixes
- and enhancements from Alberto Accomazzi
-<LI><TT>tiffcp</TT> now has a <TT>-o</TT> option to select a directory
- by file offset
-<LI><TT>tiffinfo</TT> is now capable of displaying the raw undecoded
- image data in a file
-<LI><TT>tiffgt</TT> has been rewritten to use the new <TT>TIFFRGBAImage</TT>
- support and to handle multiple files
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta016.html b/html/v3.4beta016.html
deleted file mode 100644
index e959af8e..00000000
--- a/html/v3.4beta016.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta016
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta016<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta007.html>v3.4beta007</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#man">Changes in the manual pages</A>
-<LI><A HREF="#html">Changes in the documentation</A>
-<LI><A HREF="#contrib">Changes in contributed software</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>support was added for configuring the Deflate codec
-<LI>support was added for the HTML documentation
-<LI>codecs that are not configured for inclusion in the library
- are no longer compiled
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>support was added for registering new codecs external to the library
- and for overriding the codecs that are builtin to the library
-<LI>emulation support for the old <TT>DataType</TT> tag was improved
-<LI>support was added for the <TT>SMinSampleValue</TT>
- and <TT>SMaxSampleValue</TT> tags
-<LI>the library no longer ignores <TT>TileWidth</TT> and <TT>TileLength</TT>
- tags whose values are not a multiple of 16 (per the spec); this
- permits old, improperly written, images to be read
-<LI>the support for the <TT>Predictor</TT> tag was placed in a reusable
- module so that it can be shared by multiple codecs
-<LI>experimental compression support was added for the Deflate algorithm
- (using the freely available zlib package)
-<LI>a new routine, <TT>TIFFWriteBufferSetup</TT> was added a la the
- routine <TT>TIFFReadBufferSetup</TT>
-<LI>the DSO version of the library is now statically linked with the
- JPEG and Deflate libraries; this means applications that link against
- the DSO do not also need to link against these ancillary libraries
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI>all the tools now use common code to process compress-oriented arguments
-<LI><TT>tiffdump</TT> should now compile on a Macintosh with MPW
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
-
-<UL>
-<LI>everything was updated
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="html"><B><FONT SIZE=+3>C</FONT>HANGES IN THE DOCUMENTATION:</B></A>
-
-<UL>
-<LI>everything was updated
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN CONTRIBUTED SOFTWARE:</B></A>
-
-<UL>
-<LI><B>contrib/dbs/xtiff</B> was made to compile
-<LI><B>contrib/mac-mpw</B> is new support for compiling the software on
- a Macintosh under MPW; consult <A HREF=build.html#Mac>the documentation</A>
- for details
-<LI><B>contrib/tags</B> is information on how to use the tag extenion
- facilities; consult
- <A HREF=../contrib/tags/README>contrib/tags/README</A> for details
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta018.html b/html/v3.4beta018.html
deleted file mode 100644
index 63ffb497..00000000
--- a/html/v3.4beta018.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta018
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta018<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta016.html>v3.4beta016</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>configure now recognizes IRIX 6.x systems
-<LI>configure now uses <TT>ENVOPTS</TT> when searching for an ANSI
- C compiler; this fixes a problem configuring the software under
- HP/UX with the native C compiler
-<LI>configure now correctly recognizes memory-mapped files are supported
- under AIX
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI><TT>make install</TT> now properly installs the include files
-<LI>some portability fixes from Bjorn Brox
-<LI>the G3/G4 codec now warns about decoded rows that are longer than
- the image/tile width
-<LI>changes from Frank Cringle to make the library work with the
- gcc-specific bounds checking software
-<LI>miscellaneous fixes to <TT>TIFFPrintDirectory</TT>
-<LI>bug fix to correct a problem where <TT>TIFFWriteRawStrip</TT>
- could not be used to automatically grow an image's length
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI>fixes from Frank Cringle to update <TT>fax2tiff</TT>
-<LI>portability fixes to <TT>tiff2bw</TT> and <TT>tiffcmp</TT>
-<LI><TT>tiffdump</TT> now uses the byte swapping routines in the library
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta024.html b/html/v3.4beta024.html
deleted file mode 100644
index ec82840c..00000000
--- a/html/v3.4beta024.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta024
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta024<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta018.html>v3.4beta018</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#man">Changes in the manual pages</A>
-<LI><A HREF="#contrib">Changes in the contributed software</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>It is now possible to setup the software to build only the
- library; configure reconizes this is the intent when the
- <B>VERSION</B>, <B>tiff.alpha</B>, and <B>tif_version.c</B>
- files are in the local directory (i.e. ``.'')
-<LI>configure no longer tries to setup HTML materials
-<LI>include file directories needed in building the library are now
- specified with a <TT>DIRS_LIBINC</TT> config parameter
-<LI>configure no longer checks for alternate compilers if <TT>CC</TT>
- is set; if the specified compiler is not found or is not appropriate
- the configuration procedure aborts
-<LI>the <B>port.h</B> file generated by configure is now used only by
- the library and as such as have been moved to the <B>libtiff</B>
- directory
-<LI>there is beginning support for building DSO's on systems other than IRIX
-<LI>configure now verifies the JPEG and zlib directory pathnames by
- checking for well-known include files in these directories
-<LI>configure no longer creates the <B>dist</B> directory needed only
- on SGI machines (for building SGI binary distributions)
-<LI>a bug was fixed whereby configure would incorrectly set
- <TT>ENVOPTS</TT> when building the software with gcc under AIX
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>two new typedefs were added to <B>tiff.h</TT>: <TT>int8</TT>
- and <TT>uint8</TT> for signed and unsigned 8-bit quantities,
- respectively; these are currently used only by
- programs in the <B>tools</B> directory
-<LI>the <TT>BadFaxLines</TT>, <TT>CleanFaxData</TT>, and
- <TT>ConsecutiveBadFaxLines</B> tags are now supported with
- Group 4 compression
-<LI>byte order is now correctly identified on 64-bit machines
-<LI>a bug was fixed in the PackBits decoder where input data would
- appear short when a no-op run was present
-<LI>a bug was fixed in calculations with very wide strips
-<LI><TT>TIFFWriteEncodedStrip</TT> and <TT>TIFFWriteRawStrip</TT>
- were extended to support dynamically growing the number of
- strips in an image (must set <TT>ImageLength</TT> prior to
- making calls though)
-<LI><TT>TIFFDefaultTileSize</TT> now rounds tile width and height
- up to a multiple of 16 pixels, as required by the TIFF 6.0 specification
-<LI>the file <B>version.h</B> is now built by a new <B>mkversion</B>
- program; this was done for portability to non-UNIX systems
-<LI>support was added for the Acorn RISC OS (from Peter Greenham)
-<LI>the builtin codec table is now made <TT>const</TT> when compiling
- under VMS so that <B>libtiff</B> can be built as a shared library
-<LI>support for the PowerPC Mac (from Ruedi Boesch)
-<LI>support for Window NT/Window 95 (from Scott Wagner)
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI>the tools no longer include <B>port.h</B>
-<LI>various portability fixes; mostly to eliminate implicit assumptions
- about how long <TT>int32</TT> data types are
-<LI>PostScript Level II additions to <TT>tiff2ps</TT> from Bjorn Brox
-<LI><TT>sgi2tiff</TT> now handles RGBA images
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
-
-<UL>
-<LI>the documentation has been updated to reflect the current state of
- the software
-<LI>some routines have been moved to different manual pages
- to group like-routines together
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
-
-<UL>
-<LI>support was added for the Acorn RISC OS (from Peter Greenham)
-<LI>support for Windows NT/Windows 95 contributed for a previous
- version of this software was sort of incorporated (it's broken
- right now) (from Scott Wagner)
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta028.html b/html/v3.4beta028.html
deleted file mode 100644
index 1d54afe1..00000000
--- a/html/v3.4beta028.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta028
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta028<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta024.html>v3.4beta024</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#man">Changes in the manual pages</A>
-<LI><A HREF="#contrib">Changes in the contributed software</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>a <TT>-noninteractive</TT> flag was added to configure to
- control whether or not it prints and prompts for configuration information
-<LI>various typos and fixes were made in configure for the the
- library-only build support (this and other configure fixes from
- Richard Mlynarik <A HREF=mailto:mly@adoc.xerox.com>&lt;mly@adoc.xerox.com&gt;</A>)
-<LI>bugs were fixed in the handling of pathnames supplied for external
- packages; e.g. <TT>DIR_JPEG</TT>
-<LI>the handling of <TT>SETMAKE</TT> is now done properly
-<LI>the default prototype function declaration for <TT>pow</TT> was corrected
-<LI>a bug was fixed in <B>libtiff/Makefile.in</B> that caused installation
- to fail on systems without DSO support
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>Acorn RISC O/S support that was accidentally left out of the
- left out of the previous distribution is present (from Peter Greenham)
-<LI>complaints about unknown and/or unsupported codecs have been
- delayed until they are invoked; this permits applications to open
- images and look at tags even if the image data is compressed with
- an unknown/unsupported compression scheme
-<LI>bugs in handling unknown tags have been corrected; applications
- that use multiple codecs, each with codec-specific tags, no longer
- generate confusing error messages
-<LI>a missing pseudo-tag definition in the CCITT G3 codec was fixed
- (this problem caused core dumps in the <TT>tiffcp</TT> program)
-<LI>pseudo-tags are now treated specially; they are always considered
- to be set (i.e. they do not use bits in the <TT>FIELD_*</TT> bit-vectors).
-<LI>the use of strip chopping can now be controlled on a per-file basis
- through a mode parameter supplied when opening a file (``C'' to
- enable strip chopping and ``c'' to disable)
-<LI>two bugs were fixed in the writing of opposite-endian byte-order
- files
-<LI>support was added for three new fax-related tags registered to
- SGI: FaxRecvParams, FaxRecvTime, and FaxSubAddress
-<LI>the bit order of image data read and written can now be controlled
- on a per-file basis through a mode parameter supplied when opening
- a file (``B'' to force MSB2LSB bit order, ``L'' for LSB2MSB bit
- order, and ``H'' for the bit order of the native CPU)
-<LI>the byte order of image and tag data written to newly-created files
- can now be controlled on a per-file basis through a mode parameter
- supplied when opening a file (``b'' to force Big-Endian byte order
- and ``l'' to force Little-Endian byte order)
-<LI>the use memory-mapped files for images opened read-only can now
- be controlled on a per-file basis through a mode parameter supplied
- when opening a file (``M'' to enable use of memory-mapped files
- and ``m'' to disable use)
-<LI>the use of the <TT>WIN32</TT> define in <B>tiffiop.h</B> has
- been replaced by <TT>__WIN32__</TT>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI><TT>fax2ps</TT> now does a <TT>save</TT> and <TT>restore</TT>
- around each page of PostScript; this fixes a problem with VM
- overflow when printing a many-page document on some printers
-<LI>a bug in the handling of 3-channel images by <TT>ras2tiff</TT>
- was fixed
-<LI><TT>tiffcp</TT> has new options to control the byte order of
- newly created files: <B>-B</B> for Big-Endian byte order, <B>-L</B>
- for Little-Endian byte order; a <B>-M</B> option to disable the
- use of memory-mapped files, and a <B>-C</B> option to disable the
- use of strip chopping
-<LI>bugs were fixed in <TT>tiffcp</TT>'s handling of codec-specific tags
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
-
-<UL>
-<LI>the <TT>TIFFOpen</TT> page has been updated to reflect the new
- optional open mode parameters
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
-
-<UL>
-<LI><B>contrib/win95</B> contains information and code from Philippe Tenenhaus
- <A HREF=mailto:100423.3705@compuserve.com>&lt;100423.3705@compuserve.com&gt;</A>
- about using the software under Windows 95
-<LI><B>contrib/winnt</B> contains information and code from Dave Dyer
- <A HREF=mailto:ddyer@triple-i.com>&lt;ddyer@triple-i.com&gt;</A>
- about using the software under Windows NT
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta029.html b/html/v3.4beta029.html
deleted file mode 100644
index 580cfc49..00000000
--- a/html/v3.4beta029.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta029
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta029<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta028.html>v3.4beta028</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#contrib">Changes in the contributed software</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI><B>configure</B> now relativizes pathname references given in
- <TT>-L</TT> options (as frequently specified when configuring
- ancillary packages)
-<LI>problems related to configuring the software on Ultrix 4.4 have
- been corrected
-<LI>the shell to use in Makefiles and scripts can now be set with the
- <TT>SCRIPT_SH</TT> configuration parameter
-<LI>comments in <B>config.site</B> now correctly indicate how to setup the
- use of ancillary packages
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>mods for building the software on a Mac using the
- MetroWerks CodeWarrior compilers
-<LI>a bug in the CCITT T.4/T.6 decoder was fixed where the last codeword in
- a strip/tile might not be decoded; this was seen only when decoding
- multi-strip images
-<LI>a bug in the CCITT RLE codecs was fixed whereby the pseudo tags were not
- being properly registered
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
-
-<UL>
-<LI><B>contrib/mac-cw</B> contains information and code from Niles Ritter
- <A HREF=mailto:ndr@tazboy.jpl.nasa.gov>&lt;ndr@tazboy.jpl.nasa.gov&gt;</A>
- about building the software with the MetroWerks CodeWarrior compilers
- on Macintosh systems
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta031.html b/html/v3.4beta031.html
deleted file mode 100644
index 2dff6349..00000000
--- a/html/v3.4beta031.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta031
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta031<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta029.html>v3.4beta029</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#man">Changes in the manual pages</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI><B>configure</B> now captures significantly more information
- in the <B>config.log</B> file and provides more information when
- it is unable to setup a configuration
-<LI>support was added for building shared libraries on more systems:
- AIX, HPUX, Solaris, and Linux.
-<LI>a new configuration parameter <TT>LIBCOPTS</TT> was added for
- passing arguments to the C compiler to use when building only
- the library; this is part of the enhanced support for building
- shared libraries
-<LI>include files for optional packages that reside in <B>/usr/include</B>
- are now handled correctly
-<LI>build trees may now be configured using either relative or absolute
- pathnames to the source distribution
-<LI>several new configuration parameters were added, mainly for building
- shared libraries: <TT>DIST_MAJOR</TT>, <TT>DIST_MINOR</TT>,
- <TT>DIST_ALPHA</TT>, and <TT>DSOSUF_VERSION</TT>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>the Deflate support has been revised: it requires version 0.99 of
- the zlib software distribution, <B>the output format has changed and
- is incompatible with previous versions of this library</B> (each
- strip now includes a header read and written by the zlib library)
-<LI>the codec name printed by the TIFFPrintDirectory routine is now
- taken from the codec table instead of from a builtin table; this means
- that application-defined codecs are handled correctly
-<LI>a new symbol was added that contains the library version number;
- this can be used to do a compile-time compatibility check of the
- library version
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="man"><B><FONT SIZE=+3>C</FONT>HANGES IN THE MANUAL PAGES:</B></A>
-
-<UL>
-<LI>the creation and installation of manual pages was redone; it now
- implements the documented ``configuration scheme''
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta032.html b/html/v3.4beta032.html
deleted file mode 100644
index 8ac2cc2d..00000000
--- a/html/v3.4beta032.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta032
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta032<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta031.html>v3.4beta031</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contributed software</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>various fixups and subtle improvements to <B>configure</B>
- from Richard Mlynarik
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>a new codec from Pixar designed for high-resolution color images;
- note that this codec is not configured by default
-<LI>a bug fix for reading tags with a single <TT>FLOAT</TT> value
-<LI>change to the <TT>TIFFGetField</TT> calling convention:
- a tag that has a single value of
- type <TT>DOUBLE</TT> is now retrieved by passing a
- ``<TT>double*</TT>'' instead of a
- ``<TT>double**</TT>'' (this change makes the handling of tags with
- <TT>DOUBLE</TT> values identical to the handling of tags with
- <TT>FLOAT</TT> values)
-<LI>fix to VMS support for the handling of floating point values
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI><B>tiffdump</B> now handles tags with <TT>FLOAT</TT> and <TT>DOUBLE</TT>
- values
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
-
-<UL>
-<LI>updates to the Acorn OS support from Peter Greenham
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta033.html b/html/v3.4beta033.html
deleted file mode 100644
index 256b3f8e..00000000
--- a/html/v3.4beta033.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta033
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta033 (aka the v3.4 release)<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta032.html>v3.4beta032</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contributed software</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>support was added for building the library as a DSO under OSF/1
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>fixes to the Pixar codec
-<LI>portability mods for VMS
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI>fixes to <B>gif2tiff</B> and <B>ppm2tiff</B> for building under MS/DOS
-<LI>portability mods to <B>fax2ps</B> and <B>ycbcr</B> for VMS
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIBUTED SOFTWARE:</B></A>
-
-<UL>
-<LI>a new package from Alexander Lehmann
- for building the library and tools under MS/DOS with DJGPP v2
-<LI>updated VMS support from Karsten Spang
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta034.html b/html/v3.4beta034.html
deleted file mode 100644
index 33ca2f19..00000000
--- a/html/v3.4beta034.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta034
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta034<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta033.html>v3.4beta033</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>support was added for building the library as a DSO under NetBSD
-<LI>a bug was fixed in the DSO support for Linux
-<LI>the handling of version strings has changed slightly to simplify parsing
-<LI>a new parameter, <TT>TIFFLIBREF</TT>, was added to control how the
- library is referenced when linking programs in the <B>tools</B> directory
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>DSO creation under Solaris now forces the DSO name with a <TT>-h</TT> option
-<LI>the interface to the <B>mkversion</B> program was changed
- to eliminate the need to parse files
-<LI>a bug was fixed in the EOL-detection logic of the T.4/T.6 decoder
-<LI>ANSI IT8 TIFF/IT tag definitions were added to <B>tiff.h</B>
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta035.html b/html/v3.4beta035.html
deleted file mode 100644
index 51e4116c..00000000
--- a/html/v3.4beta035.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta035
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta035<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta034.html>v3.4beta034</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>support was added installing the HTML documentation
-<LI>support was added for building the library as a DSO under FreeBSD
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>the interface to the <B>mkversion</B> program was restored to
- the form used prior to v3.4beta034
-<LI>several portability problems for 16-bit systems were fixed
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.4beta036.html b/html/v3.4beta036.html
deleted file mode 100644
index 91c2721f..00000000
--- a/html/v3.4beta036.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.4beta036
-</TITLE>
-</HEAD>
-
-<BODY>
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.4beta036<BR>
-<B>Previous Version</B>: <A HREF=v3.4beta035.html>v3.4beta035</A><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.sgi.com/graphics/tiff">ftp.sgi.com (192.48.153.1), directory graphics/tiff</A><BR>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<LI>support was added for building the library as a DSO under HP-UX with
- the native C compiler
-<LI>tools are now built with explicit pathnames for the DSO under IRIX,
- Solaris, and Linux
-<LI>DSO configuration support for Linux was changed to require that
- <B>libc.so</B> only be readable (not executable)
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-<LI>support was add for ICC: <TT>NumberOfInks</TT>, and <TT>ICCProfile</TT>
-<LI>a memory leak caused by doing <TT>TIFFSetDirectory(0)</TT> was fixed
-<LI>a bug was fixed whereby certain multi-directory files were not
- properly handled when accessed by mapping the data into memory
-<LI>the strip chopping support is now always compiled
- into the library with the default usage controlled by a
- <TT>STRIPCHOP_DEFAULT</TT> configuration parameter
-<LI>the strip chopping support no longer chops tiled images
-<LI>all static strings are now const--for shared libraries
-<LI>the logic for estimating the strip size of images without
- a <TT>StripByteCounts</TT> tag was improved by handling
- <TT>PlanarContig</TT> images differently from <TT>PlanarSeparate</TT>
-<LI>a bug was fixed in the G3 codec when converting the Y resolution
- of data specified in metric units
-<LI>a bug was fixed in the G3/G4 decoder for data where lines terminate
- with a v0 code
-<LI>the <TT>TIFFRGBAImage</TT> support was changed to scale 16-bit colormap
- entries more conservatively to avoid problems with applications
- that do not generate fully saturated pixel values
-<LI>the LZW decoder was changed to use a more conservative scheme when
- bounds checking the hash table array; this avoids pitfalls with
- systems that load objects into memory in unusual locations
-<LI>a bug was fixed in <TT>TIFFPrintDirectory</TT>'s handling of the
- <TT>InkNames</TT> tag
-<LI><TT>TIFFPrintDirectory</TT> now understands <TT>NumberOfInks</TT>
- and ICC-related tags
-<LI>the routines for reading image data now provide more useful information
- when a read error is encountered
-<LI>support was added for compiling with Microsoft Visual C++ 4.0
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI>a bug was fixed in <B>pal2rgb</B>'s colormap handling
-<LI><B>tiff2ps</B> now includes John Wehle's changes for maintaining
- the aspect ratio
- of images when scaling and for honoring the deadzone on a page when
- generating PostScript Level II
-<LI><B>tiff2ps</B> does a better job guarding against the mishandling
- of greyscale images
-<LI><B>tiff2ps</B> now correctly converts X- and Y-resolution values
- specified in metric units
-<LI><B>tiffdump</B> has a new <TT>-m</TT> option to control the maximum
- number of indirect
- data values printed for a tag (by default 24)
-<LI><B>tiffdump</B> understands several new tags
-<LI><B>tiffdump</B> now shows any terminating null in ASCII strings
-<LI><B>tiffinfo</B> now suppresses strip chopping when interpreting an image;
- a new <TT>-z</TT> option has been added to enable strip chopping
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-<ADDRESS>
-<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>
-Last updated $Date: 2016-09-25 20:05:45 $.
-</ADDRESS>
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.1.html b/html/v3.5.1.html
deleted file mode 100644
index 559f5496..00000000
--- a/html/v3.5.1.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.1
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Arial, Helvetica, Sans">
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.1<BR>
-<B>Previous Version</B>: v3.4beta037<BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com, directory graphics/tiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//>http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <LI> <em> None of consequence </em>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
-<LI> Support was added for IPTC Newsphoto metadata (TIFFTAGE_IPTCNEWSPHOTO)
-<LI> Support was added for photoshop caption handling (TIFFTAG_PHOTOSHOP)
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<LI> <A HREF=mailto:billr@corbis.com>Bill Radcliffe's</a> iptcutil was
-added to the "contrib" subdirectory . It can convert an IPTC binary
-blob to ASCII text and vice-versa. The blob itself can be extracted
-from or added to an image with the <A
-href=http://www.ImageMagick.org/>ImageMagick</a> convert(1)
-utility.
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.2.html b/html/v3.5.2.html
deleted file mode 100644
index 2c4cbf51..00000000
--- a/html/v3.5.2.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.2
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Arial, Helvetica, Sans">
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.2<BR>
-<B>Previous Version</B>: <A HREF=v3.5.1.html>v3.5.1</a><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com, directory graphics/tiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <LI> Corrected alpha versioning.
-
- <LI> Removed distinction between alpha and release targets in Makefile.in.
-
- <LI> Added release.stamp target, which tags cvs tree, and updates
- "RELEASE-DATE"
-
- <LI> Added releasediff target, which diffs tree with source as of
- date in "RELEASE-DATE"
-
- <LI>Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
- away from alpha/non-alpha distinctions).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
- <LI> Added IRIX/gcc, and OSF/1 4.x support on behalf of
- Albert Chin-A-Young <china@thewrittenword.com>
-
- <LI> Added TIFFReassignTagToIgnore() API on behalf of
- Bruce Cameron <cameron@petris.com>. Man page still pending.
-
- <LI> pre-remove so link before softlink in LINUXdso action in
- libtiff/Makefile.in to avoid failure on LINUXdso builds other than
- the first.
-
- <LI> Fixed problem with cvtcmap() in tif_getimage.c modifying the
- colormaps owned by the TIFF handle itself when trying to fixup wrong
- (eight bit) colormaps. Corrected by maintaining a private copy of
- the colormap.
-
- <LI> Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
- tif_getimage.c.
-
- <LI> Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
- by Christopher Lawton <clawton@mathworks.com>
-
- <LI> Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
-
- <LI> Added CYGWIN case in configure.
-
- <LI> Applied Francois Dagand's patch to handle fax decompression bug.
- (sizes >= 65536 were failing)
-</UL>
-
-<P><HR WIDTH=65% ALIGN=right>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <LI> Added addtiffo (add overviews to a TIFF file) in contrib. Didn't
- put it in tools since part of it is in C++.
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.3.html b/html/v3.5.3.html
deleted file mode 100644
index 0aabcaa8..00000000
--- a/html/v3.5.3.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.3
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Arial, Helvetica, Sans">
-<FONT FACE="Arial, Helvetica, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.3<BR>
-<B>Previous Version</B>: <A HREF=v3.5.2.html>v3.5.2</a><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-<p>
-The ChangeLog will follow, but please note the most important change:
-LZW compression has been removed.
-<p>
-Unisys has the patent on LZW compression and have been very active in
-their enforcement of late, demanding payments of $5000 or more from
-websites using unlicensed software to create GIF's. They could well
-do the same do persons using libtiff to create LZW compressed TIFF
-images.
-<p>
-From <A HREF=http://burnallgifs.org>Burn All GIF's Day</a>:
-<br>
-<em>The catch is that it appears to be difficult or impossible to get a
-Unisys license to use LZW in free software that complies with the Open
-Source Definition</em>
-<P>
-Unfortunately, the removal of LZW compression means that saved image size has
-grown dramatically. Without a change in the TIFF spec to support
-another lossless compression format, this is unavoidable.
-<P>
-The library can use zip for lossless compression, but as this is not
-part of the spec, TIFFs using zip compression may not work with other
-software
-<P>
-We will be making a patch available that will contain the LZW
-compression code for users who have either obtained a license from
-Unisys or are willing to risk it.
-<p>
-LZW decompression is unchanged.
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <LI> Added zip creation to release makefile target
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
-
- <LI> Added html for TIFFWriteTile.3t man page.
-
- <LI> Added some changes to tif_write.c to support rewriting existing
- fixed sized tiles and strips. Code mods disabled by default, only
- enabled if REWRITE_HACK is defined for now.
-
- <LI> Added TIFFWriteTile.3t man page.
-
- <LI> Added notes on use of makefile.vc in build.html, and fixed
- email subscription address.
-
- <LI> Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
-
- <LI> Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
- from Bruce Carmeron <cameron@petris.com> -- modifications of
- changes made by Frank (sun cc still complained on cast).
-
- <LI> fixed various VC++ warnings as suggested by Gilles Vollant
- <info@winimage.com>.
-
- <LI> Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to
- not imply applications are responsible for image data swapping.
-
- <LI> HTML-ized the man pages, added to html/man
-
- <LI> Removed LZW Compression to comply with Unisys patent extortion.
-
- <LI> Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
- From Ivo Penzar <ivo.penzar@infolink-software.com.
-
- <LI> Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
- memory mapped files. <ivo.penzar@infolink-software.com>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <LI> Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.4.html b/html/v3.5.4.html
deleted file mode 100644
index c9fdcf65..00000000
--- a/html/v3.5.4.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.4
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.4<BR>
-<B>Previous Version</B>: <A HREF=v3.5.3.html>v3.5.3</a><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <LI> None
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
-
- <li> Added Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
-
- <li> Made one more change to tif_dir.c for removal of LZW compression. Also added notice
- when LZW compression invoked.
-
- <li> Fixed bug that caused LZW (non) compression to segfault. Added
- warning about LZW compression removed being removed, and why.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
- in tools to reflect removal of LZW compression
-
- <li> Added nostrip to install in tools/Makefile.in so that debugging
- symbols are kept.
-
- <li> Made Packbits the default compression in tools/tiff2rgba.c instead
- of LZW.
-
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.5.html b/html/v3.5.5.html
deleted file mode 100644
index aa606fd1..00000000
--- a/html/v3.5.5.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.5
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.5<BR>
-<B>Previous Version</B>: <A HREF=v3.5.4.html>v3.5.4</a><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> configure: added test for libc6 for linux targets. Bug reported by
- Stanislav Brabec <utx@k332.feld.cvut.cz>
-
- <LI> configure: fixed bugs in sed scripts
- (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
- fix submitted by Stanislav Brabec <utx@k332.feld.cvut.cz>
-
- <LI> tools/iptcutil was not in files list, and wasn't being
- added to tar archive. Updated Makefile.in.
-
- <LI> Added 3.5 docs to html/Makefile.in.
- Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
-
- <LI> Fixed tools/tiffcmp so that stopondiff testing works.
- Patch care of Joseph Orost <joe@sanskrit.lz.att.com>.
-
- <LI> Added fax3sm_winnt.c to distribution list in Makefile.in.
-
- <LI> Added libtiff/libtiff.def to TIFFILES distribution list.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
- <LI>tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
- conversion for the run arrays.
-
- <LI> Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
- SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.
-
- <LI> Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c.
-
- <LI> Patched tif_fax3.c so that dsp->runs is allocated a bit bigger
- to avoid overruns encountered with frle_bug.tif.
-
-
- <LI> Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is
- set to 1, and added default (off) setting in tiffconf.h. This
- should eventually be set by the configure script somehow.
-
- The original work on all these 2-4GB changes was done by
- Peter Smith (psmith@creo.com).
-
- <LI> Modified tif_win32.c to support 2-4GB seeks.
-
- <LI> tentatively changed toff_t to be unsigned instead of signed to
- facilitate support for 2-4GB files.
-
- <LI> Updated a variety of files to use toff_t. Fixed some mixups
- between toff_t and tsize_t.
-
- <LI> Set tif_rawdatasize to zero when freeing raw data buffer in
- TIFFWriteDirectory().
-
- <LI> Enabled "REWRITE_HACK" in tif_write.c by default.
-
- <LI> Fix bug in tif_write.c when switching between reading one directory
- and writing to another.
-
- <LI> Made TIFFWriteCheck() public, and added TIFFCreateDirectory()
-
- <LI> Added TIFFmemory(3t) functions to libtiff.def.
-
- <LI> Added libtiff/libtiff.def to TIFFILES distribution list.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <LI> fax2ps: Fixed mixup of width and height in bounding box statement
- as per submission by Nalin Dahyabhai <nalin@redhat.com>.
-
- <LI> fax2ps: Modified printruns to take uint32 instead of uint16.
- Patch courtesy of Bernt Herd <herd@herdsoft.com>
-
-
- <LI> Largely reimplemented contrib/addtiffo to avoid temp files,
- updating the TIFF file in place. Fixed a few other bugs to.
-
- <LI> Altered descriptions in tools to reflect "by default" lzw not supported
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION KIT</B></A>
-<UL>
- <LI>created mangle-src.sh -- sed scripts to munge src into LZW enabled format. Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
-
- <LI>created Makefile
-
- <LI>merged tif_dir.c with current source.
-
-
- <LI> Created lzw compression kit, as a new CVS module (libtiff-lzw-compression-kit).
-
- <LI> Updated index.html to note lzw compression kit.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.6-beta.html b/html/v3.5.6-beta.html
deleted file mode 100644
index 81f11a36..00000000
--- a/html/v3.5.6-beta.html
+++ /dev/null
@@ -1,186 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.6
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.6beta<BR>
-<B>Previous Version</B>: <A HREF=v3.5.5.html>v3.5.5</a><BR>
-<B>Master Download Site</B>: <A HREF="ftp://ftp.onshore.com/pub/libtiff">ftp.onshore.com</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in contrib</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> Added GNULDdso target and switched linux and freebsd to use it.
- <LI> tools/Makefile.in: Modified to install properly on SGI.
- <LI> configure: Fixed DSO test for Linux as per patch from
- Jan Van Buggenhout <chipzz@Ace.ULYSSIS.Student.KULeuven.Ac.Be>.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
-
- <LI> tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory
- as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18
- from vandrove@vc.cvut.cz.
-
- <LI> Modified tif_packbits.c decoding to avoid overrunning the
- output buffer, and to issue a warning if data needs to be
- discarded. See http://bugzilla.remotesensing.org/show_bug.cgi?id=18
-
- <LI> Modified TIFFClientOpen() to emit an error on an attempt to
- open a comperessed file for update (O_RDWR/r+) access. This is
- because the compressor/decompressor code gets very confused when
- the mode is O_RDWR, assuming this means writing only. See
- bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13
-
- <LI> Applied patch for 0x0000 sequences in tif_fax3.h's definition
- of EXPAND1D() as per bug 11 (from Roman).
-
- <LI> Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve
- cygwin compatibility.
-
- <LI> Applied patch from Roman Shpount to tif_fax3.c. This seems to
- be a proper fix to the buffer sizing problem. See
- http://bugzilla.remotesensing.org/show_bug.cgi?id=11
-
- <LI> Fixed tif_getimage.c to fix overrun bug with YCbCr images without
- downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10
- Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
- bug and proving the patch.
-
- <LI> Fixed tif_jpeg.c so avoid destroying the decompressor before
- we are done access data thanks to bug report from:
- Michael Eckstein <eckstein@gepro.cz>.
-
- <LI> tif_open.c: Don't set MMAP for O_RDWR files.
-
- <LI> tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY
- so that files opened for update can be strip chopped too.
-
- <LI> tif_read.c: fixed up bug with files missing rowsperstrip and
- the strips per separation fix done a few weeks ago.
-
- <LI> Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
- SAMPLEFORMAT_COMPLEXINT.
-
- <LI> index.html, bugs.html: added bugzilla info.
-
- <LI> tif_read.c: fix subtle bug with determining the number of
- rows for strips that are the last strip in a separation but
- not the last strip of all in TIFFReadEncodedStrip().
-
- <LI> Applied 16/32 bit fix to tif_fax3.c. Fix supplied by
- Peter Skarpetis <peters@serendipity-software.com.au>
-
- <LI> Modified tiffio.h logic with regard to including windows.h. It
- won't include it when building with __CYGWIN__.
-
- <LI> README: update to mention {REDACTED - defunct web site}, don't list Sam's old
- email address.
-
- <LI> libtiff/tif_dirread.c: Don't use estimate strip byte count for
- one tile/strip images with an offset, and byte count of zero. These
- could be "unpopulated" images.
-
- <LI> tif_win32.c: Applied patch to fix overreads and ovverwrites
- caught by BoundsChecker. From Arvan Pritchard
- <arvan.pritchard@infomatix.co.uk> (untested).
-
- <LI> tif_getimage.c: Applied patch to silence VC6 warnings. From
- Arvan Pritchard <arvan.pritchard@informatix.co.uk>
-
- <LI> tif_lzw.c: Applied patch to silence VC6 warnings. From
- Arvan Pritchard <arvan.pritchard@informatix.co.uk>
-
- <LI> libtiff/tif_apple.c: Applied "Carbon" support patches supplied by
- Leonard Rosenthol <leonardr@lazerware.com>. May interfere
- with correct building on older systems. If so, please let me know.
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> tools/rgb2ycbcr.c: fixed output strip size to account for vertical
- roundup if rows_per_strip not a multiple of vertical sample size.
-
- <LI> tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT.
-
- <LI> Modified tiff2bw to ensure portions add to 100%, and that
- white is properly recovered. See bug
- http://bugzilla.remotesensing.org/show_bug.cgi?id=15 Patch
- c/o Stanislav Brabec <utx@penguin.cz>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN CONTRIB:</B></A>
-
-<UL>
-
- <LI> contrib/addtiffo: Added "averaging" resampling option.
-
- <LI> Added contrib/stream (stream io) code submitted by Avi Bleiweiss.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION KIT</B></A>
-<UL>
-
- <LI> updated tif_dir.c to reflect changes to no-lzw tif_dir.c
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.5.7.html b/html/v3.5.7.html
deleted file mode 100644
index 5ae2d26c..00000000
--- a/html/v3.5.7.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.5.7
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.5.7<BR>
-<B>Previous Version</B>: <A HREF=v3.5.6-beta.html>v3.5.6 Beta</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff//">http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<li> libtiff/libtiff.def: Brent Roman submitted new version adding
-several missing entry points. Also add a few other entry points
-later.
-
-<li> configure, Makefile.in, etc: added support for OPTIMIZER being
- set from config.site.
-<li> config.guess: updated wholesale to an FSF version apparently
- from 1998 (as opposed to 1994). This is mainly inspired by
- providing for MacOS X support.
-
-<li> configure/config.site: modified to check if -lm is needed for
- MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
-<li> libtiff/tiff.h: Applied hac to try and resolve the problem
- with the inttypes.h include file on AIX. (Bug 39)
-
-<li> configure, *Makefile.in: Various changes to improve configuration
- for HP/UX specifically, and also in general. (Bug 40) They include:
-<ul>
- <li> Try to handle /usr/bin/sh instead of /bin/sh where necessary.
- <li> Upgrade to HP/UX 10.x+ compiler, linker and dso options.
- <li> Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP
- <li> Use -${MAKEFLAGS} in sub makes from makefiles.
- <li> Fixed SCRIPT_SH/SHELL handling.
-</ul>
-<li> configure: Changes for DSO generation on AIX provided by
- John Marquart <jomarqua@indiana.edu>.
-
-<li> configure, libtiff/Makefile.in: Modified to build DSOs properly
- on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and
- Keisuke Fujii (fujiik@jlcuxf.kek.jp).
-
-<li> configure, libtiff/Makefile.in: applied OpenBSD patches as per bug 61.
-
-<li> Makefile.in: added DESTDIR support as per bug 60.
-
-<li> libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
- has been included.
-<li> man/Makefile.in: add TIFFClientOpen link as per debian submitted
- bug 66.
-<li> libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@
- in two places.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-
-<UL>
-<li> tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
- whether we are encoding or decoding. This is to ensure graceful
- recovery if TIFFClientOpen() discovers an attempt to open a compressed
- file for "r+" access, and subsequently close it, as it resets the
- tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
- compressor's concept of whether it is in encode or decode mode.
-<li> tif_luv.c/tiff.h/tiffio.h:
- New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
- (greg@shutterfly.com). He writes:
-
-<ol>
- <li> I improved the gamut-mapping function in tif_luv.c for imaginary
- colors, because some images were being super-saturated on the input
- side and this resulted in some strange color shifts in the output.
-
- <li> I added a psuedotag in tiff.h to control random dithering during
- LogLuv encoding. This is turned off by default for 32-bit LogLuv and
- on for 24-bit LogLuv output. Dithering improves the average color
- accuracy over the image.
-
- <li> I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
- tiffio.h, to expose internal routines for converting between LogLuv and
- XYZ coordinates. This is helpful for writing more efficient,
- specialized conversion routines, especially for reading LogLuv files.
-</ol>
-
-<li> libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
-
-<li> Added TIFFTAG_COPYRIGHT support.
-<li> tif_getimage.c: Added support for 16bit minisblack/miniswhite
- images in RGBA interface.
-<li> libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per
- bug 44.
-<li> libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
- case of writing TIFF_BYTE/TIFF_SBYTE fields as per bug 43.
-
-<li> libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
- TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
- force use of uint32 counts instead of short counts.
-
-<li> libtiff/tif_dirinfo.c: moved pixar and copyright flags to
- ensure everything is in order.
-
-<li> Integrated experimental OJPEG support from Scott Marovich of HP.
-
-<li> libtiff/tif_open.c: Seek back to zero after failed read,
- before writing header.
-
-<li> libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
- when checking for 64 bit architectures as per bugzilla bug 67.
-<li> libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
- in TIFFReadRGBATile() to avoid issues in cases of overlapping
- buffers. See Bug 69 in Bugzilla.
-<li> libtiff/tif_getimage.c: Don't complain for CMYK (separated)
- images with more than four samples per pixel as per bug 73.
-
-<li> libtiff/tif_getimage.c: relax handling of contig case where
-there are extra samples that are supposed to be ignored as per bug 75. This
-should now work for 8bit greyscale or paletted images.
-
-<li> libtiff/tif_packbits.c: fixed memory overrun error as per bug 77.
-
-<li> libtiff/tif_getimage.c: Fixed problem with reading strips or
-tiles that don't start on a tile boundary. Fix contributed by
-Josep Vallverdu (from HP), and further described in bug 47.
-
-<li> libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to
- always use the "safe" version, even if there is a very slight
- cost in performance as per bug 54.
-<li> libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an
- error about LZW not being available.
-
-<li> libtiff/tif_dir.c: propagate failure to initialize compression
- back from TIFFSetField() as an error status, so applications can
- detect failure.
-
-<li> libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug as per bug 78.
-
-<li> libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function.
-Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory.
-
-<li> libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
- COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
- in keeping with TIFF 6.0 standard in tiff.h as per bug 83.
-
-<li> Added PHOTOMETRIC_ITULAB as per bug 90.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-<li> Brent Roman contributed updated tiffcp utility (and tiffcp.1)
- with support for extracting subimages with the ,n syntax, and also
- adding the -b bias removal flag.
-<li> tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
- Bruce A. Mallett, including a faster encoder, fixes for level
- 2 PostScript, and support for the imagemask operator.
-<li> fax2ps.c: Helge (libtiff at oldach.net) submitted fix
-that corrects behaviour for non-Letter paper
-sizes. (Bug 35) It fixes two problems:
-<br>
- Without scaling (-S) the fax is now centered on the page size specified
- with -H and/or -W. Before, fax2ps was using an obscure and practically
- useless algorithm to allocate the image relative to Letter sized paper
- which sometime sled to useless whitespace on the paper, while at the
- same time cutting of the faxes printable area at the opposite border.
-<br>
-
- Second, scaling now preserves aspect ratio, which makes unusual faxes
- (in particular short ones) print properly.
-
-<li> thumbnail.c: changed default output compression
- to packbits from LZW since LZW isn't generally available.
-<li> tiff2rgba.c: added -n flag to avoid emitting alpha component. Also added
-a man page for tiff2rgba.
-
-<li> tiffcmp.c: Fixed multi samples per pixel support for ContigCompare
-as per bug 53.
-Updated bug section of tiffcmp.1 to note tiled file issues.
-
-<li> libtiff/tif_getimage.c: Fixed so that failure is properly
- reported by gtTileContig, gtStripContig, gtTileSeparate and
- gtStripSeparate as per bug 51.
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION KIT:</B></A>
-<UL>
- <LI> Rewrote lzw patching process so that is required to enable full
- LZW support is to drop the tif_lzw.c from the
- libtiff-lzw-compression-kit over the one in the libtiff directory.
-
- <LI> Some changes were made to make recovery from failure to
- initialize the LZW compressor more graceful.
-
- <LI> Note that as distributed libtiff support LZW decompression, but
- not LZW compression.
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-<UL>
-<li> Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}.
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.6.0.html b/html/v3.6.0.html
deleted file mode 100644
index 57613867..00000000
--- a/html/v3.6.0.html
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.6.0
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.6.0<BR>
-<B>Previous Version</B>: <A HREF=v3.5.7.html>v3.5.7</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<ul>
- <li> New utility <a href=./man/raw2tiff.1.html>raw2tiff</a>
-for converting raw rasters into TIFF files.
- <li> Lots of new <a href=./man/tiff2ps.1.html>tiff2ps</a> options.
- <li> Lots of new <a href=./man/fax2tiff.1.html>fax2tiff</a> options.
- <li> Lots of bug fixes for LZW, JPEG and OJPEG compression.
-</ul>
-
-<h3>Custom Tag Support</h3>
-
-The approach to extending libtiff with custom tags has changed radically.
-Previously, all internally supported TIFF tags had a place in the
-private TIFFDirectory structure within libtiff to hold the values (if read),
-and a "field number" (ie. FIELD_SUBFILETYPE) used to identify that tag.
-However, every time a new tag was added to the core, the size of the
-TIFFDirectory structure would changing, breaking any dynamically linked
-software that used the private data structures.<p>
-
-Also, any tag not recognised
-by libtiff would not be read and accessible to applications without some
-fairly complicated work on the applications part to pre-register the tags
-as exemplified by the support for "Geo"TIFF tags by libgeotiff layered on
-libtiff. <p>
-
-Among other things this approach required the extension code
-to access the private libtiff structures ... which made the higher level
-non-libtiff code be locked into a specific version of libtiff at compile time.
-This caused no end of bug reports!<p>
-
-The new approach is for libtiff to read all tags from TIFF files. Those that
-aren't recognised as "core tags" (those having an associated FIELD_ value,
-and place for storage in the TIFFDirectory structure) are now read into a
-dynamic list of extra tags (td_customValues in TIFFDirectory). When a new
-tag code is encountered for the first time in a given TIFF file, a new
-anonymous tag definition is created for the tag in the tag definition list.
-The type, and some other metadata is worked out from the instance encountered.
-These fields are known as "custom tags". <p>
-
-Custom tags can be set and fetched normally using TIFFSetField() and
-TIFFGetField(), and appear pretty much like normal tags to application code.
-However, they have no impact on internal libtiff processing (such as
-compression). Some utilities, such as tiffcp will now copy these custom
-tags to the new output files. <p>
-
-As well as the internal work with custom tags, new C API entry points
-were added so that extension libraries, such as libgeotiff, could
-define new tags more easily without accessing internal data structures.
-Because tag handling of extension tags is done via the "custom fields"
-mechanism as well, the definition provided externally mostly serves to provide
-a meaningful name for the tag.
-
-The addition of "custom tags" and the altered approach to extending libtiff
-with externally defined tags is the primary reason for the shift to the
-3.6.x version number from 3.5.x.<p>
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-<li> configure, config.site: Fix for large files (>2GiB) support. New
-option in the config.site: LARGEFILE="yes". Should be enough for the large
-files I/O.
-
-<li> configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT.
-
-<li> html/Makefile.in: Updated to use groffhtml for generating html pages
-from man pages.
-
-<li> configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
-from John H. DuBois III.
-
-<li> libtiff/{Makefile.vc, libtiff.def}: Missed declarations added.
-
-<li> libtiff/Makefile.in, tools/Makefile.in: Shared library will not be
-stripped when installing, utility binaries will do be stripped. As per bug 93.
-
-<li> man/Makefile.in: Patch DESTDIR handling as per bug 95.
-
-<li> configure: OpenBSD changes for Sparc64 and DSO version as per bug 96.
-
-<li> config.site/configure: added support for OJPEG=yes option to enable
-OJPEG support from config.site.
-
-<li> config.guess, config.sub: Updated from ftp.gnu.org/pub/config.
-
-<li> configure: Modify CheckForBigEndian so it can work in a cross
-compiled situation.
-
-<li> configure, libtiff/Makefile.in: Changes for building on MacOS 10.1
-as per bug 94.
-
-<li> html/Makefile.in: added missing images per bug 92.
-
-<li> port/Makefile.in: fixed clean target per bug 92.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
-<li> libtiff/tif_getimage.c: New function <A
-HREF="./man/TIFFReadRGBAImage.3t.html">TIFFReadRGBAImageOriented()</A>
-implemented to retrieve raster array with user-specified origin position.
-
-<li> libtiff/tif_fax3.c: Fix wrong line numbering.
-
-<li> libtiff/tif_dirread.c: Check field counter against number of fields.
-
-<li> Store a list of opened IFD to prevent directory looping.
-
-<li> libtiff/tif_jpeg.c: modified segment_height calculation to always
-be a full height tile for tiled images. Also changed error to just
-be a warning.
-
-<li> libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till
-LZWSetupDecode(). Needed to read LZW files in "r+" mode.
-
-<li> libtiff/tif_dir.c: fixed up the tif_postdecode settings responsible
-for byte swapping complex image data.
-
-<li> libtiff/tif_open.c: Removed error if opening a compressed file
-in update mode bug (198).
-
-<li> libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
-a pre-existing compressed image. That is, image writing to pre-existing
-compressed images is not allowed.
-
-<li> html/man/*.html: Web pages regenerated from man pages.
-
-<li> libtiff/tif_jpeg.c: Hack to ensure that "boolean" is defined properly
-on Windows so as to avoid the structure size mismatch error from libjpeg
-(bug 188).
-
-<li> libtiff/tiff.h: #ifdef USING_VISUALAGE around previous Visual Age
-AIX porting hack as it screwed up gcc. (bug 39)
-
-<li> libtiff/tiff.h: added COMPRESSION_JP2000 (34712) for LEAD tools
-custom compression.
-
-<li> libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
-by the TIFFFetchByteArray() function. (bug 52)
-
-<li> libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair()
-as per bug 196.
-
-<li> libtiff/tif_lzw.c: Additional consistency checking added in
-LZWDecode() and LZWDecodeCompat() fixing bugs 190 and 100.
-
-<li> libtiff/tif_lzw.c: Added check for valid code lengths in LZWDecode()
-and LZWDecodeCompat(). Fixes bug 115.
-
-<li> tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the
-return code from the underlying pick function as per bug 177.
-
-<li> libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
-fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
-present in the tiff tags as per bug 168.
-
-<li> libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
-JPEGDecode() as per bug 129.
-
-<li> libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
-TIFFWriteScanline() now set tif_row explicitly in case the codec has
-fooled with the value as per bug 129.
-
-<li> libtiff/tif_ojpeg.c: Major upgrade from Scott. Details in bug 156.
-
-<li> libtiff/tif_open.c: Pointers to custom procedures
-in TIFFClientOpen() are checked to be not NULL-pointers.
-
-<li> libtiff/tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat
-replaced by warnings. Now libtiff should read corrupted LZW-compressed
-files by skipping bad strips as per bug 100.
-
-<li> libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
-<a href=./man/TIFFWriteDirectory.3t.html>TIFFCheckpointDirectory()</a>
-routine added as per bug 124. The
-<a href=./man/TIFFWriteDirectory.3t.html>TIFFWriteDirectory</a>
-man page discusses this new function as well as the related
-<a href=./man/TIFFWriteDirectory.3t.html>TIFFRewriteDirectory()</a>.
-
-<li> libtiff/: tif_codec.c, tif_compress.c, tiffiop.h, tif_getimage.c:
-Introduced
-additional members tif->tif_decodestatus and tif->tif_encodestatus
-for correct handling of unconfigured codecs (we should not try to read
-data or to define data size without correct codecs). See bug 119.
-
-<li> tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func as
-per bug 111.
-
-<li> libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
-tif_dirwrite.c: Dwight Kelly added get/put code for new tag XMLPACKET as
-defined in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0
-spec INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
-CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
-INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).
-
-<li> libtiff/tif_getimage.c: Additional check for supported codecs added in
-TIFFRGBAImageOK, TIFFReadRGBAImage, TIFFReadRGBAStrip and TIFFReadRGBATile now
-use TIFFRGBAImageOK before reading a per bug 110.
-
-<li> libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
-tif_dirwrite.c: Added routine
-<a href=./man/TIFFDataWidth.3t.html>TIFFDataWidth</a> for determining
-TIFFDataType sizes instead of working with tiffDataWidth array
-directly as per bug 109.
-
-<li>libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to
-read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION,
-TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC as per bug 99.
-
-<li> libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__ as per bug 94.
-
-<li> libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the
-decodestrip function returns anything not greater than zero as per bug 97.
-
-<li> libtiff/tif_jpeg.c: fixed computation of segment_width for
-tiles files to avoid error about it not matching the
-cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
-size.") for ITIFF files. Apparently the problem was incorporated since
-3.5.5, presumably during the OJPEG/JPEG work recently.
-
-<li> libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
-(defined in tiffconf.h - 1 by default) then the RGBA interface
-will assume that a fourth extra sample is ASSOCALPHA if the
-EXTRASAMPLE value isn't set for it. This changes the behaviour of
-the library, but makes it work better with RGBA files produced by
-lots of applications that don't mark the alpha values properly.
-As per bugs 93 and 65.
-
-<li> libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
-override those from tiff directory. This makes this work with
-ImageGear generated files.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Added page size setting
-when creating PS Level 2.
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Fixed PS comment emitted when
-FlateDecode is being used.
-
-<li> <a href=./man/tiffsplit.1.html>tiffsplit</a>: increased the maximum
-number of pages that can be split.
-
-<li> <a href=./man/raw2tiff.1.html>raw2tiff</a>: Added option `-p' to
-explicitly select color space of input image data.
-
-<li> <a href=./man/tiffmedian.1.html>tiffmedian</a>: Suppiort for large
-(> 2GB) images.
-
-<li> <a href=./man/ppm2tiff.1.html>ppm2tiff</a>: Fixed possible endless loop.
-
-<li> <a href=./man/tiff2rgba.1.html>tiff2rgba</a>: Switched to use
-<A HREF="./man/TIFFReadRGBAImage.3t.html">TIFFReadRGBAImageOriented()</A>
-instead of <A HREF="./man/TIFFReadRGBAImage.3t.html">TIFFReadRGBAImage()</A>.
-
-<li> <a href=./man/tiffcmp.1.html>tiffcmp</a>: Fixed problem with unused data
-comparing (bug 349). `-z' option now can be used to set the number of reported
-different bytes.
-
-<li> <a href=./man/tiffcp.1.html>tiffcp</a>: Added possibility to specify
-value -1 to -r option to get the entire image as one strip (bug 343).
-
-<li> <a href=./man/tiffcp.1.html>tiffcp</a>: Set the correct RowsPerStrip
-and PageNumber values (bug 343).
-
-<li> <a href=./man/fax2tiff.1.html>fax2tiff</a>: Page numbering fixed (bug
-341).
-
-<li> <a href=./man/ppm2tiff.1.html>ppm2tiff</a>: PPM header parser improved:
-now able to skip comments.
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Force deadzone printing when
-EPS output specified (bug 325).
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Add ability to generate
-PS Level 3. It basically allows one to use the /flateDecode filter for ZIP
-compressed TIFF images. Patch supplied by Tom Kacvinsky (bug 328).
-
-<li> <a href=./man/tiffcp.1.html>tiffcp</a>: Fixed problem with colorspace
-conversion for JPEG encoded images (bugs 23 and 275)
-
-<li> <a href=./man/fax2tiff.1.html>fax2tiff</a>: Applied patch from
-Julien Gaulmin. More switches for fax2tiff tool for better control
-of input and output (bugs 272 and 293).
-
-<li> <a href=./man/raw2tiff.1.html>raw2tiff</a>:
-New utility for turning raw raster images into TIFF files
-written by Andrey Kiselev.
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>:
-Sebastian Eken provided patches (bug 200) to add new these new
-switches:
- <ul>
- <li> <b>-b #</b>: for a bottom margin of # inches
- <li> <b>-c</b>: center image
- <li> <b>-l #</b>: for a left margin of # inches
- <li> <b>-r</b>: rotate the image by 180 degrees
- </ul>
-
-Also, new features merged with code for shrinking/overlapping.
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Don't emit BeginData/EndData
-DSC comments since we are unable to properly include the amount to skip
-as per bug 80.
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Added workaround for some
-software that may crash when last strip of image contains fewer number
-of scanlines than specified by the `/Height' variable as per bug 164.
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: Patch from John Williams to add new
-functionality for tiff2ps utility splitting long images in several pages as
-per bug 142. New switches:
- <ul>
- <li> <b>-H #</b>: split image if height is more than # inches
- <li> <b>-L #</b>: overLap split images by # inches
- </ul>
-
-<li> <a href=./man/tiff2ps.1.html>tiff2ps</a>: New commandline
-switches to override resolution units obtained from the input file per bug 131:
- <ul>
- <li> <b>-x</b>: override resolution units as centimeters
- <li> <b>-y</b>: override resolution units as inches
- </ul>
-
-<li> <a href=./man/fax2tiff.1.html>fax2tiff</a>: Updated to reflect
-latest changes in libtiff per bug 125.
-
-<li> tiff2ps: Division by zero fixed as per bug 88.
-
-<li> <a href=./man/tiffcp.1.html>tiffcp<a>:
-Added support for 'Orientation' tag.
-
-<li> <a href=./man/tiffdump.1.html>tiffdump</a>:
-include TIFFTAG_JPEGTABLES in tag list.
-
-<li> tiffset: fix bug in error reporting.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-<UL>
-
-<li> Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}.
-<li> libtiff/contrib/win95: renamed to contrib/win_dib. Added new
-Tiffile.cpp example of converting TIFF files into a DIB on Win32 as per
-bug 143.
-
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION
-KIT:</B></A>
-<UL>
-
-<li> LZW compression kit synchronized with actual libtiff version.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.6.1.html b/html/v3.6.1.html
deleted file mode 100644
index e7036c0f..00000000
--- a/html/v3.6.1.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
-Changes in TIFF v3.6.1
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.6.1<BR>
-<B>Previous Version</B>: <A HREF=v3.6.0.html>v3.6.0</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<ul>
- <li> New utility <a href="./man/tiff2pdf.1.html">tiff2pdf</a>
- for converting TIFF images directly into PDF.
- <li> New <a href="./man/TIFFcolor.3t.html">color conversion module</a>.
- <li> Full support for Orientation tag in
- <a href="./man/TIFFReadRGBAImage.3t.html">TIFFRGBAImage</a> interface.
- <li> Many bugs fixed.
-</ul>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
-<li> libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG library.
-
-<li> Makefile.in: Add an absolute path to the test_pics.sh call.
-
-<li> Makefile.in: Add an absolute path to the test_pics.sh call.
-
-<li> libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD typedefs.
-
-<li> configure, libtiff/{Makefile.in, mkversion.c}: Relative buildings fixed.
-
-<li> Makefile.in: Add an absolute path to the test_pics.sh call.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
-<li> libtiff/{tif_color.c, tif_getimage.c, tiffio.h}: Added support
-for ReferenceBlackWhite tag handling when converted from YCbCr color space as
-per bug 120.
-
-<li> libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the
-file and properly use it for CIE Lab 1976 to RGB transform.
-
-<li> libtiff/{tif_getimage.c, tiffio.h}: Finally resolved problems with
-orientation handling. TIFFRGBAImage interface now properly supports all
-possible orientations, i.e. images will be flipped both in horizontal and
-vertical directions if required. 'Known bugs' section now removed from the
-appropriate manual pages.
-
-<li> libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine,
-reported by Antonio Scuri.
-
-<li> libtiff/{tiffio.h, tif_codec.c}: Added new function
-TIFFIsCODECConfigured(), suggested by Ross Finlayson.
-
-<li> libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly extract
-the fields from the OJPEG files. Patch supplied by Ross Finlayson.
-
-<li> libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced
-with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson.
-
-<li> libtiff/tif_dirinfo.c: Implemented binary search in _TIFFMergeFieldInfo().
-Patch supplied by Ross Finlayson.
-
-<li> tif_dirread.c: do not mark all anonymously defined tags to be IGNOREd (as
-it was done in 3.6.0).
-
-<li> libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13) datatype,
-introduced in "Adobe PageMaker TIFF Technical Notes".
-
-<li> libtiff/{tif_color.c, tif_getimage.c, tiffio.h}: New color space
-conversion code: CIE L*a*b* 1976 images now supported by the TIFFRGBAImage
-interface. YCbCr to RGB conversion code also moved there and now has
-<a href="./man/TIFFcolor.3t.html">publicly available interface</a>. These
-routines currently used in TIFFRGBAImage interface only and not supported in
-other libtiff tools yet. So if you want, for example, to convert CIE Lab image
-into PostScript file you should do it in two steps: change colorspace to RGB
-using <a href="./man/tiff2rgba.1.html">tiff2rgba</a> utility abd then process
-it with the <a href="./man/tiff2ps.1.html">tiff2ps</a>.
-
-<li> libtiff/tif_tile.c: Remove spurious use of "s" (sample) in the
-planarconfig_contig case in TIFFComputeTile() as per bug 387
-
-<li> libtiff/tiffiop.h: New macros: TIFFmax and TIFFmin.
-
-<li> libtiff/{tiffio.h, tif_strip.c}: Added TIFFRawStripSize() function
-as suggested by Chris Hanson.
-
-<li> libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode
-as per bug 424.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
-<li> <a href=./man/tiff2pdf.1.html>tiff2pdf</a>: New tool, written by
-Ross Finlayson, to directly convert TIFF files to PDF.
-
-<li> <a href=./man/tiffgt.1.html>tiffgt</a>: Unmaintained and platform
-dependent sgigt utility removed and replaced with the completely rewritten
-portable <a href=./man/tiffgt.1.html>tiffgt</a> tool (depend on OpenGL and
-GLUT). This tool will not build by default.
-
-<li> <a href=./man/ras2tiff.1.html>ras2tiff</a>: Properly determine
-SUN Rasterfiles with the reverse byte order (it is reported by the magic
-header field). Problem reported by Andreas Wiesmann.
-
-<li> <a href=./man/raw2tiff.1.html>raw2tiff</a>: Implemented image size
-guessing using correlation coefficient calculation between two neighbour
-lines.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-<UL>
-
-<li> contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use TIFFDataWidth()
-function instead of tiffDataWidth array.
-
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION
-KIT:</B></A>
-<UL>
-
-<li> Proper support for update mode as per bug 424.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.0.html b/html/v3.7.0.html
deleted file mode 100644
index c08fb3b6..00000000
--- a/html/v3.7.0.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.0
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.0<BR>
-<B>Previous Version</B>: <A HREF=v3.7.0beta2.html>v3.7.0beta2</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Several bugs found after 3.7.0beta2 release were fixed.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> ltmain.sh: Fix for MinGW compilation.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c,
- tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes
- properly (Dmitry V. Levin, Marcus Meissner).
-
- <li> libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed
- to TIFF_IFD.
-
- <li> Preliminary support for BigTIFF files: now libtiff can
- recognize and reject to open such images. ;-)
-
- <li> libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields
- of the TIFFDirectory structure with the 0 instead of -1 to avoid
- confusing integer overflows in TIFFTileRowSize() for striped images.
-
- <li> libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields
- of the TIFFDirectory structure with the 0 instead of -1 to avoid
- confusing integer overflows in TIFFTileRowSize() for striped images.
-
- <li> libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
- of tif_fieldinfo as per bug
- <A HREF="http://bugzilla.remotesensing.org/show_bug.cgi?id=630">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=630</A>
-
- <li> libtiff/tif_compress.c: Improved error reporting in
- TIFFGetConfiguredCODECs() (Dmitry V. Levin).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiffcmp.c (leof): Renamed from 'eof' in order to avoid
- conflict noticed under MinGW.
-
- <li> tiff2pdf.c: Fixed TransferFunction tag handling reported
- by Ross A. Finlayson.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> No changes.
-
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION
-KIT:</B></A>
-<UL>
-
- <li> This one is not longer needed.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.0alpha.html b/html/v3.7.0alpha.html
deleted file mode 100644
index 70b11177..00000000
--- a/html/v3.7.0alpha.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.0alpha
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.0alpha<BR>
-<B>Previous Version</B>: <A HREF=v3.6.1.html>v3.6.1</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<ul>
- <li> Significant changes in software configuration: we are switched
- to GNU autotools now.
-
- <li> tiffset: tiffset now can set any libtiff supported tags. Tags
- can be supplied by the mnemonic name or number.
-</ul>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> Get rid of the old configuration system and switch to
- GNU autotools.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF
- markers as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=581"
- http://bugzilla.remotesensing.org/show_bug.cgi?id=581</a>.
-
- <li> libtiff/{tif_open.c, tiffio.h}: New function added:
- TIFFIsBigEndian(). Function returns nonzero if given was file written
- in big-endian order.
-
- <li> libtiff/tif_print.c: added (untested) support for printing
- SSHORT, SLONG and SRATIONAL fields.
-
- <li> libtiff/tif_fax3.c: Avoid reading CCITT compression options
- if compression type mismatches. See
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=565">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=565</a>.
-
- <li> libtiff/tif_strip.c: Never return 0 from the TIFFNumberOfStrips().
-
- <li> libtiff/tif_dirread.c: Workaround for broken TIFF writers which
- store single SampleFormat value for multisampled images. See
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=562">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=562</a>.
-
- <li> libtiff/tif_write.c: Allow in-place updating of the compressed
- images (don't work properly with all codecs). For details see GDAL bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=534">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=534</a>.
-
- <li> libtiff/tif_jpeg.c: Workaround for wrong sampling factors used
- in the Intergarph JPEG compressed TIFF images as per bug:
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=532">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=532</a>.
-
- <li> libtiff/tif_open.c: Use dummy mmap/munmap functions in
- TIFFClientOpen() when the appropriate client functions was not
- supplied by user.
-
- <li> libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
- tag type in TIFFFetchNormalTag() as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=508"
- http://bugzilla.remotesensing.org/show_bug.cgi?id=508</a>.
-
- <li> libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per:
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=494">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=494</a>.
-
- <li> libtiff/tif_fax3.c: Fixed problem, introdiced in 3.6.1 release,
- with the CCITT encoding modes as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=483">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=483</a>.
- We need more work on fax codec to support update mode.
-
- <li> libtiff/tiff.h: Fixed tag definitions for TIFFTAG_YCLIPPATHUNITS
- and TIFFTAG_INDEXED as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=475">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=475</a>.
-
- <li> libtiff/{tif_win32.c, tif_unix.c}: Check whether the pointer is
- NULL before proceeding further as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=474">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=474</a>.
- Check results, returned by the TIFFFdOpen() before returning and close
- file if TIFFFdOpen() failed as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=468">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=468</a>.
-
- <li> libtiff/{libtiff.def, tif_close.c, tiffio.h, tif_open.c}:
- Separate TIFFCleanup() from the TIFFClose() in order to fix the bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=468">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=468</a>.
-
- <li> libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags
- that are field_passcount=TRUE properly. Arguably anonymous custom
- tags should be declared as passcount=FALSE, but I don't want to change
- that without a careful review.
-
- <li> libtiff/tif_write.c: Fixed reporting size of the buffer in case
- of stripped image in TIFFWriteBufferSetup(). As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=460">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=460</a>.
-
- <li> libtiff/tif_dir.c: Incomplete cleanup in TIFFFreeDirectory(),
- patch from Gerben Koopmans.
-
- <li> libtiff/tif_dirread.c: Check field_passcount value before setting
- the value of undefined type, patch from Gerben Koopmans.
-
- <li> libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as
- suggested by Jeremy C. Reed.
-
- <li> libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when
- the NULL pointer passed. Patch supplied by Larry Grill.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiffset: tiffset now can set any libtiff supported tags. Tags
- can be supplied by the mnemonic name or number.
-
- <li> ycbcr.c: fixed main() declaration as per:
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=513">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=513</a>.
-
- <li> <a href=./man/tiffsplit.1.html>tiffsplit</a>: Don't forget
- to copy Photometric Interpretation tag.
-
- <li> <a href=./man/tiffsplit.1.html>tiffsplit</a>: Fixed problem with
- unproperly written multibyte files. Now output files will be written
- using the same byte order flag as in the input image. See
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=574"
- http://bugzilla.remotesensing.org/show_bug.cgi?id=574</a>.
-
- <li> <a href=./man/tiffsplit.1.html>tiffsplit</a>: Copy JPEGTables
- tag contents for JPEG compressed images. Reported by Artem Mirolubov.
-
- <li> <a href=./man/tiffcp.1.html>tiffcp</a>: Close output file
- on normal exit.
-
- <li> <a href=./man/tiffcp.1.html>tiffcp</a>: Don't emit warnings
- when Orientation tag does not present in the input image.
-
- <li> <a href=./man/tiffcp.1.html>tiffcp</a>: Properly set
- Photometric Interpretation in case of JPEG compression of grayscale
- images.
-
- <li> <a href=./man/tiffcp.1.html>tiffcp</a>: Fixed problem with wrong
- interpretation of the InkNames tag as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=466">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=466</a>.
- Memory leak fixed.
-
- <li> <a href=./man/tiffcp.1.html>tiffcp</a>: Fixed problem with
- wrong Photometric setting for non-RGB images.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> Outdated stuff removed.
-
- <li> Almost all programs are sinchronized with the current libtiff
- and should compile without problems.
-
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION
-KIT:</B></A>
-<UL>
-
-<li> No changes.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.0beta.html b/html/v3.7.0beta.html
deleted file mode 100644
index 8ed682ca..00000000
--- a/html/v3.7.0beta.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.0beta
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.0beta<BR>
-<B>Previous Version</B>: <A HREF=v3.7.0alpha.html>v3.7.0alpha</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<ul>
- <li> LZW compression enabled by default. You don't need the separate
- compression kit anymore.
-
- <li> bmp2tiff: Added new utility to convert Windows BMP files
- into TIFFs.
-
- <li> The first attempt to implement a test suite.
-</ul>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> Many portability fixes in the new autotooled build suite.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer
- overruns fixed, as noted by Chris Evans.
-
- <li> BSD data types (u_char, u_short, u_int, u_long) is no longer
- used internally in the libtiff. Should result in simpler configuration
- and better portability.
-
- <li> libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP
- specification. Reference libtiff bug tracking system to submit
- private tag additions.
-
- <li> libtiff/tif_dirread.c: Don't reject to read tags of the
- SamplesPerPixel size when the tag count is greater than number of
- samples as per bug
- <A HREF="http://bugzilla.remotesensing.org/show_bug.cgi?id=576">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=576</A>.
-
- <li> libtiff/{tiffio.h, tif_open.c}: Applied patches from
- Joris Van Damme to avoid requirement for tiffiop.h inclusion in
- some applications. Look for details here:
- <A HREF="http://www.asmail.be/msg0054799560.html">
- http://www.asmail.be/msg0054799560.html</A>.
-
- <li> libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static
- variable as per bug
- <A HREF="http://bugzilla.remotesensing.org/show_bug.cgi?id=593">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=593</A>.
-
- <li> libtiff/tif_lzw.c: LZW compression code is merged back from the
- separate package. All libtiff tools are updated to not advertise an
- abcence of LZW support.
-
- <li> libtiff/tif_dir.c: Call TIFFError() instead of producing warnings
- when setting custom tags by value. Reported by Eric Fieleke.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiff2ps: Avoid zero division in setupPageState() function;
- properly initialize array in PSDataBW().
-
- <li> tiff2pdf: Multiple bugfixes.
-
- <li> ras2tiff: Fixed issue with missed big-endian checks as per bug
- </A HREF="http://bugzilla.remotesensing.org/show_bug.cgi?id=586">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=586</A>.
-
- <li> bmp2tiff: Added new utility to convert Windows BMP files
- into TIFFs.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> No changes.
-
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION
-KIT:</B></A>
-<UL>
-
- <li> This one is not longer needed.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.0beta2.html b/html/v3.7.0beta2.html
deleted file mode 100644
index 0b0b9a82..00000000
--- a/html/v3.7.0beta2.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.0beta2
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.0beta2<BR>
-<B>Previous Version</B>: <A HREF=v3.7.0beta.html>v3.7.0beta</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-<LI><A HREF="#lzwkit">Changes in the LZW compression kit</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> The code has been reviewed by Dmitry Levin: added checks
- for values, returned by the space allocation functions, fixed
- problems with the possible integer overflows.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> Several fixes in the test suite.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> Preliminary support for BigTIFF files: now libtiff can
- recognize and reject to open such images. ;-)
-
- <li> libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
- TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
- in the Adobe XMP Specification.
-
- <li> Added many checks for integer overflow and for successful space
- allocations in the different parts of library. Code review
- completed by Dmitry V. Levin.
-
- <li> libtiff/{tiffio.h, tif_compress.c}: Added
- TIFFGetConfiguredCODECs()function to get the list of configured codecs.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiff2bw: Write ImageWidth/Height tags to output file, as
- noted by Gennady Khokhorin.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> No changes.
-
-</UL>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="lzwkit"><B><FONT SIZE=+3>C</FONT>HANGES IN THE LZW COMPRESSION
-KIT:</B></A>
-<UL>
-
- <li> This one is not longer needed.
-
-</UL>
-
-<A HREF="index.html"><IMG SRC="images/back.gif"></A> TIFF home page.<BR>
-
-<HR>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.1.html b/html/v3.7.1.html
deleted file mode 100644
index 66263cd5..00000000
--- a/html/v3.7.1.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.1
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.1<BR>
-<B>Previous Version</B>: <A HREF=v3.7.0.html>v3.7.0</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> This is mostly bugfix release. Most important fix is the one
- related to wrong custom tag read/write code.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> autogen.sh: aclocal and autoheader should be executed after
- libtoolize. Also add '-I .' to aclocal invocation to check
- current directory for macros.
-
- <li> nmake.opt: Link with the user32.lib in windowed mode. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=697">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=697</a>
-
- <li> nmake.opt, makefile.vc: make it easier to rename the libtiff DLL.
-
- <li> configure, configure.ac: Added --enable-rpath option to embed
- linker paths into library binary.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> tiff.h: Revert back libtiff data type definitions as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=687">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=687</a>
-
- <li> tif_dirread.c: Do not forget about TIFF_VARIABLE2 when
- checking for tag count in TIFFReadDirectory() function. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=713">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=713</a>
-
- <li> tif_getimage.c: Support for multiple-alpha-channelled
- RGB-images as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=718">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=718</a>
-
- <li> tif_getimage.c: #define A1 bracketing for clean build on
- SunPro compiler.
-
- <li> tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
- as per bugs
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=703">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=703</a> and
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=704">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=704</a>.
-
- <li> tif_win32.c: Use char* strings instead of TCHAR in windowed
- mode as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=697">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=697</a>
-
- <li> tif_dir.c, tif_dirread.c: Remove TIFFReassignTagToIgnore()
- call from the TIFFReadDirectory() function. TIFFReassignTagToIgnore
- must be removed in the future, as it was never used properly. As per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=692">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=692</a>
-
- <li> tif_jpeg.c: Added a work-around in order to allow
- compilation with the heavily modified version of libjpeg delivered
- with Cygwin.
-
- <li> tif_dir.c: Properly handle tags, which have the uint32
- counts. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=693">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=693</a>
-
- <li> tif_unix.c: Make UNIX module compilable (and usable)
- on Windows.
-
- <li> tiff.h: Added Adobe DNG tags.
-
- <li> tif_aux.c: Set the appropriate ReferenceBlackWhite array for
- YCbCr image which lacks that tag (noted by Hans Petter Selasky).
-
- <li> tif_color.c: Division by zero fixed (Hans Petter Selasky).
-
- <li> tif_stream.cxx, tiffio.h: Added C++ stream interface
- contributed by Edward Lam (see
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=654">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=654</a>
- for details). Those who want to use C++ streams should
- #include <tiffio.hxx>.
-
- <li> tif_open.c: Removed close() in TIFFClientOpen() if file
- is bad. This is the callers responsibility.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=651">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=651</a>
-
- <li> tiffio.h, tif_win32.c, libtiff.def}: Added TIFFOpenW()
- function to work with the double byte strings (used to represent
- filenames in some locales). As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=625">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=625</a>
-
- <li> tif_dirread.c: Fixed problem when fetching BitsPerSample and
- Compression tags of type LONG from broken TIFFS as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=662">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=662</a>
-
- <li> tif_dirinfo.c: Fixed definition for TIFFTAG_RICHTIFFIPTC,
- the writecount should have uint32 type. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=662">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=662</a>
-
- <li> tif_write.c: Fixed wrong if() statement in
- TIFFAppendToStrip() function as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=660">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=660</a>
-
- <li> tif_dirinfo.c: Change definition for TIFFTAG_EXTRASAMPLES
- field. The caller should supply a count when setting this field. As
- per bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=648">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=648</a>.
-
- <li> tif_jpeg.c, tif_ojpeg.c: TIFFTAG_JPEGTABLES should have
- uint32 count. Use this type everywhere.
-
- <li> tif_next.c: avoid use of u_long and u_char types.
-
- <li> tif_fax3.c: Fixed case with the wrong decode routines
- choosing when the incorrect Group4Options tag set. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=323">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=323</a>
-
- <li> tif_dirwrite.c: Fixed problem with passing count variable of
- wrong type when writing the TIFF_BYTE/TIFF_SBYTE tags in
- TIFFWriteNormalTag().
-
- <li> tif_compress.c: Zero division problem fixed (Vladimir Nadvornik,
- Dmitry V. Levin).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> fax2ps.c: Be able to extract the first page (#0). As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=690">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=690</a>
-
- <li> tiff2ps.c: Fixed wrong variable data type when read Position
- tags (Tristan Hill).
-
- <li> tiff2ps.c: Fixed wrong variable data type when read Resolution
- tags (Peter Fales).
-
- <li> tiffset.c: Check the malloc return value (Dmitry V. Levin).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> No changes.
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.2.html b/html/v3.7.2.html
deleted file mode 100644
index ac1ae85d..00000000
--- a/html/v3.7.2.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.2
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.2<BR>
-<B>Previous Version</B>: <A HREF=v3.7.1.html>v3.7.1</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Maintenance release. Many bugfixes in the build environment
- and compatibility improvements.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> configure.ac: Use -rpath option instead of -R as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=732">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=732</a>
-
- <li> tif_stream.cxx: Fixes for C++ stream interface from
- Michael Rinne and Edward Lam.
-
- <li> configure.ac: Make the documentation directory location
- configurable via the --with-docdir option (as suggested by
- Jeremy C. Reed).
-
- <li> Place the C++ stream API in the separate library called
- libtiffxx to avoid unneeded dependencies. Probably there will be
- more C++ API in the future. As per bugs
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=733">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=733</a>
- and <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=730">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=730</a>
-
- <li> configure, configure.ac: Replace --disable-c++ with the
- --disable-cxx option as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=730">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=730</a>.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> Applied patch from Lee Howard to support a new tag TIFFTAG_FAXDCS
- (34911) used in HylaFax software. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=771">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=771</a>
-
- <li> tif_open.c: Remove unnesessary TIFFSeekFile() call as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=756">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=756</a>
-
- <li> tiff.h: Changed the int8 definition to be always signed char
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=727">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=727</a>
-
- <li> tiffio.h: Move TIFFOpenW() function into the extern "C"{}
- block as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=763">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=763</a>
-
- <li> tif_dirread.c: Estimate strip size in case of wrong or
- suspicious values in the tags. As per bugs
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=705">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=705</a>
- and <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=320">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=320</a>
-
- <li> tif_color.c: Use double as the second argument of pow()
- function in TIFFCIELabToRGBInit(). As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=741">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=741</a>
-
- <li> tif_pixarlog.c: Avoid warnings when converting float to
- integer as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=740">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=740</a>
-
- <li> tif_getimage.c: Always fill the error message buffer in
- TIFFRGBAImageBegin() as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=739">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=739</a>
-
- <li> tif_jpeg.c: Added ability to read/write the fax specific
- TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS and TIFFTAG_FAXRECVTIME
- tags as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=736">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=736</a>
-
- <li> tif_win32.c: Fixed message formatting in functions
- Win32WarningHandler() and Win32ErrorHandler() as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=735">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=735</a>
-
- <li> tiffio.h: Move the color conversion routines in the 'extern
- "C"' section as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=727">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=727</a>
-
- <li> tiff.h: Restore back the workaround for AIX Visual Age C
- compiler to avoid double definition of BSD types as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=39">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=39</a>
-
- <li> tif_getimage.c: More fixes for multiple-alpha-channelled
- RGB-images as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=713">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=713</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tiffcmp.c: Added ability to compare the 32-bit integer and
- floating point data; complain on unsupported bit depths.
-
- <li> tiffcmp.c: Use properly sized buffer in short arrays comparison
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=785">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=785</a>
-
- <li> fax2ps.c: Replace insecure mktemp() function with the
- tmpfile() as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=786">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=786</a>
-
- <li> tiffgt.c: Fix problem on big-endian CPUs so that images
- display more correctly. Images display brighter than they should
- on a Sun workstation.
-
- <li> tiff2ps.c: Fixed problem with page sizes as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=742">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=742</a>
-
- <li> tiff2ps.c: Interpret the -w and -h options independently. As
- per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=689">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=689</a>
-
- <li> tiffdump.c: Fixed problem when read broken TIFFs with the
- wrong tag counts (Dmitry V. Levin, Martin Pitt).
-
- <li> tiffset.c: Convert character option to integer value as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=725">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=725</a>.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> No changes.
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.3.html b/html/v3.7.3.html
deleted file mode 100644
index bc1dc26d..00000000
--- a/html/v3.7.3.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.3
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.3<BR>
-<B>Previous Version</B>: <A HREF=v3.7.2.html>v3.7.2</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> Replace runtime endianness check with the compile time one.
-
- <li> Added support for the new predictor type (floating point
- predictor), defined at the TIFF Technical Note 3.
-
- <li> Added Support for custom tags, passed by value.
- Added support for all DNG tags.
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> Do not use empty -R option when linking with --enable-rpath.
-
- <li> Added workaround for OpenBSD/MirOS soname problem as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=838">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=838</a>
-
- <li> Fixed parallel compilation of the libtiff and
- libtiffxx libraries as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=826">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=826</a>
-
- <li> configure.ac, libtiff/Makefile.am: Use libtool machinery to pass
- rpath option.
-
- <li> make.opt: Build with Win32 CRT library by default.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> tiffiop.h, tif_open.c: Added open option 'h' to avoid reading
- the first IFD when needed. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=875">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=875</a>
-
- <li> tiff.h: Use correct int size on Sparc 64bit/Sun compiler
- platform. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=855">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=855</a>
-
- <li> tif_dirinfo.c: Added support for ClipPath, XClipPathUnits
- and YClipPathUnits tags.
-
- <li> tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c: Make
- DocumentName, Artist, HostComputer, ImageDescription, Make, Model,
- Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and
- TargetPrinter tags custom.
-
- <li> tif_jpeg.c: Cleanup the codec state depending on TIFF_CODERSETUP
- flag (to fix memory leaks).
-
- <li> tif_dirwrite.c: Use tdir_count when calling
- TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as
- per bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=845">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=845</a>
-
- <li> tif_dirinfo.c, tif_print.c: TIFFFetchByteArray() returns
- uint16 array when fetching the BYTE and SBYTE fields, so we should
- consider result as pointer to uint16 array and not as array of chars.
- As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=831">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=831</a>
-
- <li> tif_dir.c: More efficient custom tags retrieval as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=830">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=830</a>
-
- <li> tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share
- mode in CreateFile() call as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=829">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=829</a>
-
- <li> tif_jpeg.c: Substantial fix for addtiffo problems with
- JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables
- in directory.
-
- <li> tif_dirread.c: Changed the code that computes
- stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
- zero. This is a common case with GDAL indicating a "null" tile/strip.
-
- <li> tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw().
-
- <li> tif_dirread.c: Ensure that broken files with too many
- values in PerSampleShorts, TIFFFetchPerSampleLongs and
- TIFFFetchPerSampleAnys work ok instead of crashing.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=843">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=843</a>
-
- <li> tif_predict.h, tif_predict.c: Added ability to decode and encode
- floating point predictor, as per TIFF Technical Note 3.
- See http://chriscox.org/TIFF_TN3_Draft2.pdf for details.
-
- <li> tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c:
- Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to
- swap 24-bit floating point values.
-
- <li> tiff.h: Added predictor constants.
-
- <li> tiffiop.h, tif_dir.c: Use uint32 type for appropriate values
- in _TIFFVSetField() function. Inspired by the bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=816">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=816</a>
-
- <li> tif_open.c: Do not read header in case the output file should
- be truncated (Ron).
-
- <li> tif_dirinfo.c, tif_config.h.vc: Use lfind() instead of bsearch()
- in _TIFFFindFieldInfoByName() function (Ron).
-
- <li> tif_dir.c, tif_print.c: Properly handle all data types in custom
- tags.
-
- <li> dirinfo.c: Added DNG tags.
-
- <li> tiff.h: Added missed DNG tag (LensInfo); added DNG 1.1.0.0 tags.
-
- <li> tif_dir.c, tif_print.c: Added Support for custom tags, passed
- by value.
-
- <li> tiff.h, tif_dirinfo.c, tiffiop.h: Added EXIF related tags.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiff2pdf.c: Print two characters per loop in the
- t2p_write_pdf_trailer(). As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=594">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=594</a>
-
- <li> tiffgt.c: Use MacOS X OpenGL framework when appropriate. As
- per bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=844">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=844</a>
-
- <li> ppm2tiff.c: Fixed format string when read PPM file header with
- the fscanf() function. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=861">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=861</a>
-
- <li> tiffsplit.c: Check for JPEGTables tag presence before copying.
-
- <li> tiff2pdfr.c: Calculate the tile width properly; added new
- option '-b' to use interpolation in output PDF files (Bruno Ledoux).
-
- <li> tiffdither.c: Copy the PhotometricInterpretation tag from the
- input file.
-
- <li> tif2pdf.c: Fixed problem with alpha channel handling as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=794">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=794</a>.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}:
- Make overviews working for contiguous images.
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.7.4.html b/html/v3.7.4.html
deleted file mode 100644
index a811a173..00000000
--- a/html/v3.7.4.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.7.4
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.7.4<BR>
-<B>Previous Version</B>: <A HREF=v3.7.3.html>v3.7.3</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> Fixed important bug in custom tags handling code..
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> Applied patch from Patrick Welche (all scripts moved in the
- 'config' and 'm4' directories).
-
- <li> SConstruct, libtiff/SConstruct: Added the first very preliminary
- support for SCons software building tool (http://www.scons.org/).
- This is experimental infrastructure and it will exist along with the
- autotools stuff.
-
- <li> port/lfind.c: Added lfind() replacement module.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
- also set it to NULL to avoid double free when re-setting custom
- string fields as per:
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=922">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=922</a>
-
- <li> tif_dir.c: Fixed up support for swapping "double complex"
- values (128 bits as 2 64 bits doubles). GDAL gcore tests now
- pass on bigendian (macosx) system.
-
- <li> libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to
- SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples()
- function, use TIFFFetchNormalTag() instead as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=831">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=831</a>
-
- Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
- instead.
-
- <li> tif_print.c: Fixed printing of the BYTE and SBYTE arrays.
-
- <li> tif_write.c: Do not check the PlanarConfiguration field in
- the TIFFWriteCheck() function in case of single band images (as per
- TIFF spec).
-
- <li> libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}:
- Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera,
- ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiffcp.c: Fixed WhitePoint tag copying.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
- <li> tiffdump.c: Added support for TIFF_IFD datatype.
-
- <li> addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}:
- Make overviews working for contiguous images.
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.8.0.html b/html/v3.8.0.html
deleted file mode 100644
index be1529ba..00000000
--- a/html/v3.8.0.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.8.0
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.8.0<BR>
-<B>Previous Version</B>: <A HREF=v3.7.4.html>v3.7.4</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> Read-only support for custom directories (e.g. EXIF directory).
-
- <li> Preliminary support for MS MDI format.
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> Make the default strip size configurable via the
- --with-default-strip-size and STRIP_SIZE_DEFAULT options.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> tiffio.h: Added VC_EXTRALEAN definition before including
- windows.h, to reduce the compile time.
-
- <li> tif_jpeg.c: Improve compilation under MinGW.
-
- <li> {tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c,
- tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and
- StoNits tags custom.
-
- <li> {tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make
- WhitePoint tag custom.
-
- <li> tiffio.h: fixed typo that potentially resulted in
- redefininition of USE_WIN32_FILEIO
-
- <li> {tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC,
- Photoshop and ICCProfile tags custom.
-
- <li> libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
- newer code to get context indicator in error handler and still
- remain compatible with older code: Done TIFFError calls everywhere
- except in tools.
-
- <li> tiffinfo.c: Print EXIF directory contents if exist.
-
- <li> {tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}:
- Custom directory read-only support.
-
- <li> {tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h,
- tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite
- tags custom.
-
- <li> tif_dirread.c: One more workaround for broken StripByteCounts
- tag. Handle the case when StripByteCounts array filled with
- completely wrong values.
-
- <li> tif_dirinfo.c: Release file descriptor in case of failure
- in the TIFFOpenW() function as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1003">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1003</a>
-
- <li> tif_dirinfo.c: Correctly use bsearch() and lfind()
- functions as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1008">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1008</a>
-
- <li> tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support
- for MS MDI format.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1002">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1002</a>
-
- <li> libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory
- public.
-
- <li> /tif_dirinfo.c: Make XResolution, YResolution and
- ResolutionUnit tags modifiable during write process. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=977">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=977</a>
-
- <li> if_dirread.c: Don't try and split single strips into "0" strips
- in ChopUpSingleUncompressedStrip. This happens in some degenerate
- cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff)
-
- <li> tif_fax3.c: changed 'at scanline ...' style warning/errors
- with incorrect use of tif_row, to 'at line ... of
- strip/tile ...' style.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiffcp.c: Added many error reporting messages; fixed integer
- overflow as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=789">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=789</a>
-
- <li> tiffcp.c: Return non-zero status when reading fails.
-
- <li> fax2tiff.c: Properly calculate sizes of temporary arrays
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=943">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=943</a>
-
- <li> fax2tiff.c: Added option '-r' to set RowsPerStrip parameter
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=944">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=944</a>
-
- <li> tiffdump.c: Fixed typeshift and typemask arrays initialization
- problem as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=946">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=946</a>
-
- <li> bmp2tiff.c: Fixed possible integer overflow error as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=965">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=965</a>
-
- <li> tiffsplit.c: Copy fax related fields over split parts
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=983">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=983</a>
-
- <li> tiffdump.c: Fixed crash when reading malformed tags.
-
- <li> tiff2pdf.c: Added missed 'break' statement as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=932">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=932</a>
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
- <li> contrib/addtiffo/*: Major upgrade by Joris to support subsampled
- YCbCr images in jpeg compressed TIFF files.
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.8.1.html b/html/v3.8.1.html
deleted file mode 100644
index d53bb1fb..00000000
--- a/html/v3.8.1.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.8.1
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.8.1<BR>
-<B>Previous Version</B>: <A HREF=v3.8.0.html>v3.8.0</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> Bug-fix release.
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
- <li> libtool related stuff updated from the 2.1a branch.
-
- <li> Fix with_default_strip_size comparison as reported by
- Norihiko Murase.
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> tif_dirread.c: Fixed error reporting in TIFFFetchAnyArray()
- function as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1102</a>
-
- <li> tif_jpeg.c, tif_pixarlog.c, tif_fax3.c, tif_zip.c:
- Properly restore setfield/getfield methods in cleanup functions. As
- per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1102</a>
-
- <li> tif_lzw.c, tif_pixarlog.c, tif_zip.c: Use
- TIFFPredictorCleanup() in codec cleanup methods. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1102</a>
-
- <li> tif_predict.c, tif_predict.h: Added new function
- TIFFPredictorCleanup() to restore parent decode/encode/field methods.
-
- <li> tif_dirread.c: Fixed integer overflow condition in
- TIFFFetchData() function. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1102</a>
-
- <li> tif_ojpeg.c: Set the ReferenceBlackWhite with the
- TIFFSetField() method, not directly. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1043">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1043</a>
-
- <li> tif_write.c: Small code rearrangement in TIFFWriteScanline()
- to avoid crash as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1081">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1081</a>
-
- <li> tif_dirwrite.c: Properly write TIFFTAG_DOTRANGE tag as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1088">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1088</a>
-
- <li> tif_print.c: Properly read TIFFTAG_PAGENUMBER,
- TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING and TIFFTAG_DOTRANGE
- tags as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1088">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1088</a>
-
- <li> tif_tile.c: Fix error reporting in TIFFCheckTile() as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1063">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1063</a>
-
- <li> tif_color.c: Avoid overflow in case of wrong input as per
- bug <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1065">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1065</a>
-
- <li> tif_dirinfo.c: Use TIFF_NOTYPE instead of 0 when
- appropriate. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1033">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1033</a>
-
- <li> tif_aux.c: Fixed type of temporary variable in
- _TIFFCheckMalloc() as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=103">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=103</a>
-
- <li> tif_aux.c: Return static array when fetching default
- YCbCrCoefficients (another problem, reported a the
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1029">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1029</a>
- entry).
-
- <li> tif_dir.c: Special handling for PageNumber, HalftoneHints,
- YCbCrSubsampling and DotRange tags as per bugs
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1029">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1029</a>
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1034">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1034</a>
-
- <li> tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
- _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1026">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1026</a>
-
- <li> tif_dirinfo.c: Change definitions for TIFFTAG_ICCPROFILE,
- TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET:
- readcount should be uint32 value.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> ppm2tiff.c: Added support for PBM files as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1044">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1044</a>
-
- <li> tiff2pdf.c: Functions t2p_sample_rgbaa_to_rgb() and
- t2p_sample_rgba_to_rgb() was used in place of each other, that was
- resulted in problems with RGBA images with associated alpha.
- As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1097">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1097</a>
-
- <li> tiff2ps.c: Properly scale all the pages when converting
- multipage TIFF with /width/height/center options set. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1080">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1080</a>
-
- <li> tiff2pdf.c: Do not create output file until all option checks
- will be done. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1072">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1072</a>
-
- <li> bmp2tiff.c: Added ability to create multipage TIFFs from the
- list of input files as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1077">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1077</a>
-
- <li> tiffgt.c: Avoid crashing in case of image unsupported by
- TIFFRGBAImage interface.
-
- <li> tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
- compressed TIFF files, per submission from Dan Cobra.
-
- <li> bmp2tiff, pal2rgb, ppm2tiff, ras2tiff, raw2tiff, sgi2tiff,
- tiff2bw, tiffcp: Fixed jpeg option processing so -c jpeg:r:50 works
- properly as per bug:
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1025">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1025</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:45 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.8.2.html b/html/v3.8.2.html
deleted file mode 100644
index 7a33181b..00000000
--- a/html/v3.8.2.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.8.2
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.8.2<BR>
-<B>Previous Version</B>: <A HREF=v3.8.1.html>v3.8.1</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> Bug-fix release.
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> tools/Makefile.am: Use runtime paths linker flags when rpath
- option enabled.
-
- <li> Makefiles improvements as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1128">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1128</a>
-
- <li> Fixed win32 I/O functions usage as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1127">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1127</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> tif_strip.c: Take subsampling in account when calculating
- TIFFScanlineSize().
-
- <li> tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c,
- tif_lzw.c, tif_luv.c: Use _TIFFSetDefaultCompressionState() in all
- codec cleanup methods. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1120">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1120</a>
-
- <li> tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As
- per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1119">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1119</a>
-
- <li> tif_dir.c: Use double type instead of dblparam_t.
-
- <li> tif_dirread.c: Do not check the PlanarConfig tag presence
- in TIFFReadDirectory, because it is always set at the start of
- function and we allow TIFFs without that tag set.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiffcp.c: Do not set RowsPerStrip bigger than image length.
-
- <li> fax2tiff.c: Fixed wrong TIFFerror() invocations as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1125">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1125</a>
-
- <li> fax2ps.c: Fixed reading the input stream from stdin as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1124">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1124</a>
-
- <li> raw2tiff.c: Do not set RowsPerStrip larger than ImageLength.
- As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1110">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1110</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:46 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.0.html b/html/v3.9.0.html
deleted file mode 100644
index 35df1c23..00000000
--- a/html/v3.9.0.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.0
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.0<BR>
-<B>Previous Version</B>: <A HREF=v3.9.0beta.html>v3.9.0beta</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> All of the major changes since 3.8.0 were incorporated in
- the v3.9.0beta release. This is a stable release from a
- stable maintenance branch which incorporates many bug and
- security fixes needed by existing users of 3.X.X series
- libraries. Any future major changes will be in the 4.0.X
- series of releases.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> Updated autotools: Autoconf 2.64, Automake 1.11, libtool
- 2.2.6.
-
- <li> Enabled support for Automake silent build rules
- (--enable-silent-rules or 'make V=0')
-
- <li> Enabled support for Automake colorized tests.
-
- <li> Added detection of a 64-bit integer type so that bundled
- utilities (like tiffcrop) can use it when necessary. Note
- that this version of libtiff does not require a 64-bit integer
- type but libtiff 4.0 does.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> libtiff/{Makefile.am, Makefile.v}: Do not distribute
- tiffconf.h, remove tif_config.h/tiffconf.h during cleaning. As
- per bug <a
- href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1573">http://bugzilla.remotesensing.org/show_bug.cgi?id=1573</a>
-
- <li> tif_dirinfo.c: _TIFFMergeFields() now only merges in
- field definitions that are missing. Existing definitions are
- silently ignored. (Bug #1585)
-
- <li> tif_write.c: Rip out the fancy logic in
- TIFFAppendToStrip() for establishing if an existing tile can
- be rewritten to the same location by comparing the current
- size to all the other blocks in the same directory. This is
- dangerous in many situations and can easily corrupt a file.
- (observed in esoteric GDAL situation that's hard to document).
- This change involves leaving the stripbytecount[] values
- unaltered till TIFFAppendToStrip(). Now we only write a block
- back to the same location it used to be at if the new data is
- the same size or smaller - otherwise we move it to the end of
- file.
-
- <li> tif_dirwrite.c: Try to avoid writing out a full
- readbuffer of tile data when writing the directory just
- because we have BEENWRITING at some point in the past. This
- was causing odd junk to be written out in a tile of data when
- a single tile had an interleaving of reading and writing with
- reading last. (highlighted by gdal
- autotest/gcore/tif_write.py test 7.
-
- <li> tif_predict.c: use working buffer in PredictorEncodeTile
- to avoid modifying callers buffer. <a
- href="http://trac.osgeo.org/gdal/ticket/1965">http://trac.osgeo.org/gdal/ticket/1965</a>
-
- <li> tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so
- that predictor based encoding and decoding works in read-write
- update mode properly. <a
- href="http://trac.osgeo.org/gdal/ticket/1948">http://trac.osgeo.org/gdal/ticket/1948</a>
-
- <li> configure.com, libtiff/tif_vms.c: Better OpenVMS
- support. Patches from Alexey Chupahin.
-
- <li> tif_fax3.c: fix leak of FAXCS state (per bug 1603).
-
- <li> tif_fax3.c: Make find0span() and find1span() non-inline
- to make MSVC 6.0 compiler happy.
-
- <li> tif_codec.c: Avoid NULL pointer dereferencing for exotic
- compression codec codes.
-
- <li> tif_dirread.c: zero tif->tif_dir after freeing the
- directory in TIFFReadCustomDirectory(). I don't exactly
- remember why this was important.
-
- <li> tif_dirwrite.c: Fix potential memory leak writing large
- double tags.
-
- <li> tif_dirread.c: Fix unchecked malloc result.
-
- <li> libtiff/tif_lzw.c: Properly zero out the codetable. As
- per bug <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=1929">http://bugzilla.maptools.org/show_bug.cgi?id=1929</a>
-
- <li> libtiff/tif_lzw.c: Properly zero out the string
- table. Fixes CVE-2008-2327 security issue.
-
- <li> libtiff/tif_jbig.c: Support the JBIG-KIT 2.0
- (compatibility with the older versions retained).
-
- <li> libtiff/tif_getimage.c,tiffio.h: removed all use of
- UaToAa and Bitmap16to8 arrays in TIFFRGBAImage structure to
- restore ABI compatibility. These were just an attempt to
- speed up processing with precalculated tables. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=1979">http://bugzilla.maptools.org/show_bug.cgi?id=1979</a>
-
- <li> libtiff/tif_codec.c: Avoid printing c->name if it does not exist.
-
- <li> libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
- Removed SubsamplingHor/Ver from TIFFRGBAImage structure. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=1980">http://bugzilla.maptools.org/show_bug.cgi?id=1980</a>
-
- <li> libtiff/tif_jpeg.c: Avoid errors if the application
- writes a full strip for the last partial strip in a jpeg
- compressed file. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=1981">http://bugzilla.maptools.org/show_bug.cgi?id=1981</a>
-
- <li> libtiff/tiffio.h: GCC will now validate format
- specifications for TIFFError(), TIFFErrorExt(), TIFFWarning(),
- and TIFFWarningExt() in order to reveal bugs. Cleaned up
- resulting warnings throughout for 32 bit build only.
-
- <li> libtiff/tiffiop.h: Add private type declarations for
- int64, and uint64 so that bundled utilities (like tiffcrop)
- can use it when necessary.
-
- <li> libtiff/tif_predict.c: Add support for 32bit integer
- horz. predictors.
- <a href="http://bugzilla.maptools.org/show_bug.cgi?id=1911">http://bugzilla.maptools.org/show_bug.cgi?id=1911</a>
-
- <li> libtiff/tif_luv.c: Fix handling of tiled logluv images.
- <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=2005">http://bugzilla.maptools.org/show_bug.cgi?id=2005</a>
-
- <li> libtiff/tif_write.c: do not override the planar
- configuration to be contig for one sample files if planar
- configuration is already set. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=2057">http://bugzilla.maptools.org/show_bug.cgi?id=2057</a>
-
- <li> libtiff/tif_lzw.c: Fix buffer underflow bug. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=2065">http://bugzilla.maptools.org/show_bug.cgi?id=2065</a>
-
- <li> libtiff/tif_luv.c: correct return codes from encoderow to
- be 1 on success instead of zero. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=2069">http://bugzilla.maptools.org/show_bug.cgi?id=2069</a>
-
- <li> libtiff/tif_print.c (TIFFPrintDirectory): Applied patch
- for "tag error may cause segfault in tif_print.c." <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=1896">http://bugzilla.maptools.org/show_bug.cgi?id=1896</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tools/tiff2pdf.c: Fixed setting of alpha value per report
- on list.
-
- <li> tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat()
- calls when doing the filename/path construction.
-
- <li> tools/tiff2pdf.c: More appropriate format string in
- t2p_write_pdf_string(); avoid signed/unsigned mismatch.
-
- <li> tools/tiffsplit.c: Use dynamically allocated array
- instead of static when constructing output file names.
-
- <li> tools/tiffcrop.c, man/tiffcrop.1: Incorporated
- significant functionality update from Richard Nolde.
-
- <li> tools/tiff2ps.c: Incorporated significant functionality
- update from Richard Nolde. In particular, support for
- rotating the image by 90, 180, 270, and 'auto' has been added.
-
- <li> tools/tiff2ps.c: Remove spurious message printed to
- stderr.
-
- <li> tools/tiffsplit.c: fix sampleformat to be shortv instead
- of longv.
-
- <li> tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied patch for
- CVE-2009-2347 libtiff: integer overflows in various
- inter-color space conversion tools. <a
- href="http://bugzilla.maptools.org/show_bug.cgi?id=2079">http://bugzilla.maptools.org/show_bug.cgi?id=2079</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:46 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.0beta.html b/html/v3.9.0beta.html
deleted file mode 100644
index ef6214ad..00000000
--- a/html/v3.9.0beta.html
+++ /dev/null
@@ -1,305 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.0beta
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.0beta<BR>
-<B>Previous Version</B>: <A HREF=v3.8.2.html>v3.8.2</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above).
-If you don't find something listed here, then it was not done in this
-timeframe, or it was not considered important enough to be mentioned.
-The following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> New <b>tiffcrop</b> utility contributed by Richard Nolde.
- <b>tiffcrop</b> does the same as <b>tiffcp</b>, but also can crop,
- extract, rotate and mirror images.
-
- <li> tif_jbig.c: Added support for JBIG compression scheme
- (34661 code), contributed by Lee Howard.
-
- <li> Totally new implementation of OJPEG module from
- Joris Van Damme. No need to patch libjpeg anymore. Many OJPEG files
- should be supported now that was not supported previously.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
- compatibility stuff from Mateusz Loskot.
-
- <li> Rename config.h.vc and tif_config.h.vc to config.vc.h and
- tif_config.vc.h for easier identification by folks using an IDE.
-
- <li> configure, configure.ac: OJPEG support enabled by default (i.e.,
- when conformant JPEG support is enabled).
-
- <li> README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
- tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
- Added support for OpenVMS by Alexey Chupahin.
-
- <li> nmake.opt: use /EHsc for VS2005 compatibility. Also define
- _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
- bsearch() on a NULL fieldinfo list.
- (_TIFFFindFieldInfoByName): Don't attempt to lfind() on a NULL
- fieldinfo list.
-
- <li> tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
- will convert from decompressor to compressor or compress to decompress
- if required by the force arguments. This works around a problem in
- where the JPEGFixupTestSubsampling() may cause a decompressor to
- be setup on a directory when later a compressor is required with the
- force flag set. Occurs with the addtiffo program for instance.
-
- <li> tif_dirwrite.c: Fixed swapping of byte arrays stored
- in-place in tag offsets as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1363">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1363</a>
-
- <li> tif_getimage.c: workaround for 'Fractional scanline' error
- reading OJPEG images with rowsperstrip that is not a multiple of
- vertical subsampling factor. This bug is mentioned in
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1390">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1390</a> and
- <a href="http://www.asmail.be/msg0054766825.html">
- http://www.asmail.be/msg0054766825.html</a>
-
- <li> tif_dirread.c: Added special function to handle
- SubjectDistance EXIF tag as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1362">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1362</a>
-
- <li> tif_dirread.c, tif_read.c: Type of the byte counters
- changed from tsize_t to uint32 to be able to work with data arrays
- larger than 2GB. Fixes bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=890">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=89</a>
- Idea submitted by Matt Hancher.
-
- <li> tif_dir.c: Workaround for incorrect TIFFs with
- ExtraSamples == 999 produced by Corel Draw. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1490">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1490</a>
-
- <li> tif_write.c: TIFFAppendToStrip() - clear sorted flag if
- we move a strip.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1359">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1359</a>
-
- <li> tif_fax3.c: Save the state of printdir codec dependent method.
-
- <li> tif_jpeg.c: Save the state of printdir codec dependent method
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1273">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1273</a>
-
- <li> tif_win32.c: Fixed problem with offset value manipulation
- as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1322">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1322</a>
-
- <li> tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
- vulnerabilities, as per Gentoo bug ():
- <a href="http://bugs.gentoo.org/show_bug.cgi?id=142383">
- http://bugs.gentoo.org/show_bug.cgi?id=142383</a>
-
- <li> tif_lzw.c, tif_zip.c: Fixed problems with mixing
- encoding and decoding on the same read-write TIFF handle. The LZW
- code can now maintain encode and decode state at the same time. The
- ZIP code will switch back and forth as needed.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=757">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=757</a>
-
- <li> tif_msdos.c: Avoid handle leak for failed opens.
- c/o Thierry Pierron
-
- <li> tif_dirwrite.c: take care not to flush out buffer of strip/tile
- data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates
- to bug report by Peng Gao with black strip at bottom of images.
-
- <li> tif_dirwrite.c: make sure to use uint32 for wordcount in
- TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
- It already seems to have been done for other field types. Needed
- for "tiffset" on files with geotiff ascii text.
-
- <li> tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
-
- <li> tif_dirread.c: Move IFD fetching code in the separate
- function TIFFFetchDirectory() avoiding code duplication in
- TIFFReadDirectory() and TIFFReadCustomDirectory().
-
- <li>tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
- files. Modified TIFFReadDirectory() to not invoke
- EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
- one of them is zero.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1204">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1204</a>
-
- <li> tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping
- checking code in the separate function TIFFCheckDirOffset().
-
- <li> tif_aux.c: Added _TIFFCheckRealloc() function.
-
- <li> tif_fax3.c: Fixed problems in fax decoder as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1194">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1194</a>
-
- <li> tif_jbig.c: Added support for JBIG compression scheme
- (34661 code) contributed by Lee Howard. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=896">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=896</a>
-
- <li> tif_getimage.c: Added support for planarconfig separate
- non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]).
-
- <li> tif_getimage.c: Revision of all RGB(A) put routines:
- <ul>
- <li> Conversion of unassociated alpha to associated alpha
- now done with more performant LUT, and calculation more
- correct.
- <li> Conversion of 16bit data to 8bit data now done with
- more performant LUT, and calculation more correct
- <li> Bugfix of handling of 16bit RGB with unassociated alpha
- </ul>
-
- <li> tif_ojpeg.c: totally new implementation
-
- <li> tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
- of OJPEG images in favor of tif_getimage.c native handling of
- YCbCr and desubsampling.
-
- <li> tif_jpeg.c: JPEGVSetField() so that altering the photometric
- interpretation causes the "upsampled" flag to be recomputed. Fixes
- peculiar bug where photometric flag had to be set before jpegcolormode
- flag.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> tiff2ps.c: Added support 16-bit images as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1566">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1566</a>.
- Patch from William Bader.
-
- <li> tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
- significant upgrade of the whole utility as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1560">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1560</a>.
- Now we don't need tiffiop.h in tiff2pdf anymore and will open output
- PDF file using TIFFClientOpen() machinery as it is implemented
- by Leon Bottou.
-
- <li> tiffcrop.c: New tiffcrop utility contributed
- by Richard Nolde. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1383">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1383</a>
-
- <li> tiff2pdf.c: Do not assume inches when the resolution units
- do not specified. As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1366">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1366</a>
-
- <li> tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
- As per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1350">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1350</a>
-
- <li> tif2rgba.c: This utility does not work properly on big-endian
- architectures. It was fixed including the bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1149">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1149</a>
-
- <li> tiff2pdf.c: Fix handling of -q values.
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=587">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=587</a>
-
- <li> tiffcmp.c: Fixed floating point comparison logic as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1191">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1191</a>
-
- <li> tiff2pdf.c: Fixed buffer overflow condition in
- t2p_write_pdf_string() as per bug
- <a href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1196">
- http://bugzilla.remotesensing.org/show_bug.cgi?id=1196</a>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> contrib/addtiffo/tif_overview.c: Fix problems with odd sized
- output blocks in TIFF_DownSample_Subsampled() (bug 1542).
-
- <li> contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
- Though it is still far from the state of being working and useful.
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:46 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.1.html b/html/v3.9.1.html
deleted file mode 100644
index 2f5a7afa..00000000
--- a/html/v3.9.1.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.1
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.1<BR>
-<B>Previous Version</B>: <A HREF=v3.9.1.html>v3.9.1</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
- <li> This is a bug-fix release for several bugs (two of which
- are dire) which were discovered in the 3.9.0 release.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> Several defines were missing from tif_config.vc.h which
- are necessary to compile the library using MSVC.
-
- <li> Colorized tests were actually not enabled as expected.
- Parallel tests mode is now also enabled so that tests can be
- run in parallel, and test output is sent to .log files.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> libtiff/tif_write.c (TIFFAppendToStrip): Remove cast
- which caused libtiff to output a wrong last strip with
- byte-count and strip-offset of zero. This cast was added on
- the day of the 3.9.0 release.
-
- <li> libtiff/tif_dirwrite.c: Back out changes from 2007-11-22
- that resulted in the final strip not being written in some
- circumstances.
- http://bugzilla.maptools.org/show_bug.cgi?id=2088
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
- <li> None
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.2.html b/html/v3.9.2.html
deleted file mode 100644
index 8bd9dc85..00000000
--- a/html/v3.9.2.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.2
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.2<BR>
-<B>Previous Version</B>: <A HREF=v3.9.1.html>v3.9.1</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Fixes a number of bugs present in the 3.9.1 release.
-
- <li> OJPEG support updated to work with IJG JPEG 7 release.
-
- <li> Tiffcrop validated for most TIFF storage subformats and sample depths.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> x86_64 now uses the same default fill order as i386.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> Writing tags with an array value of type TIFF_DOUBLE now
- returns correct error status. The TIFFTAG_SMINSAMPLEVALUE and
- TIFFTAG_SMAXSAMPLEVALUE tags failed to write without this fix.
-
- <li> OJPEG decoder now works with IJG JPEG 7. Resolves "Bug
- 2090 - OJPEG crash with libjpeg v7".
- http://bugzilla.maptools.org/show_bug.cgi?id=2090
-
- <li> Eliminate most GCC "dereferencing type-punned pointer"
- warnings.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> New tiffcrop from Richard Nolde. Major updates to add
- significant functionality for reading and writing tile based
- images with bit depths not a multiple of 8 which cannot be
- handled by tiffcp.
-
- <li> Allow building tools with GCC using the "-Wformat
- -Werror=format-security" flags.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.3.html b/html/v3.9.3.html
deleted file mode 100644
index 87657071..00000000
--- a/html/v3.9.3.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.3
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.3<BR>
-<B>Previous Version</B>: <A HREF=v3.9.2.html>v3.9.2</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Fixes for CVE-2010-1411.
-
- <li> Various reported bug fixes.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> libtool is updated to version 2.2.10.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> Fix a couple of issues that trigger failures in some
- cases when using TIFFReadScanline() with JPEG compressed
- subsampled ycbcr images.
- http://bugzilla.maptools.org/show_bug.cgi?id=1936
-
- <li> Ensure tile and scanline sizes are reset when moving to
- new directories.
- http://bugzilla.maptools.org/show_bug.cgi?id=1936
-
- <li> Do not generate a JPEGTables tag when creating the JPEG
- TIFF as is is not required in order to prevent it from being
- unused and filled with invalid data. (Leave it to be
- generated by later activity.)
- http://bugzilla.maptools.org/show_bug.cgi?id=2135
-
- <li> Don't return error on badly-terminated MMR strips.
- http://bugzilla.maptools.org/show_bug.cgi?id=2029
-
- <li> Have TIFFTAG_REFERENCEBLACKWHITE always print 6 floats
- instead of 2*SamplesPerPixel.
- http://bugzilla.maptools.org/show_bug.cgi?id=2186
-
- <li> Ensure that JPEG quality is always set in
- JPEGPreEncode(), not just when we want to output local tables.
- Otherwise the quality used during compression may not be right
- and might not match the tables in the tables tag. This bug
- only occurs when seeking between directories in the midst of
- writing blocks. http://trac.osgeo.org/gdal/ticket/3539
-
- <li> OJPEG: Report an error and avoid a crash if the input
- file is so broken that the strip offsets are not defined.
-
- <li> Eliminate FAX3 decoder buffer overrun possibility
- (CVE-2010-1411).
-
- <li> Restore ReferenceBlackWhite as a non-custom field. This
- avoids a multi-thread reentrancy problem as well as fixing
- output of wrong tag value due to redundant definitions for the
- same tag in the tiffFieldInfo[] array. Resolves
- http://bugzilla.maptools.org/show_bug.cgi?id=2185
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tiff2pdf: Write the JPEG SOI headers into the TIFF strip
- data rather than skipping them. This fixes the ability to view in
- Acrobat Reader, Evince, and Ghostscript.
- http://bugzilla.maptools.org/show_bug.cgi?id=2135
-
- <li> ppm2tiff: While case for parsing comment line
- requires extra parenthesis to work as expected. Reported by
- Thomas Sinclair.
-
- <li> tiffcp: add a new option -x to force merged tiff
- file PAGENUMBER value in sequence for users who care the page
- sequence, this will also prevent tiff2pdf from creating pdf file from
- the merged tiff file with wrong page sequence.
-
- <li> tiffcp: Applied Tom Lane's patch to reject YCbCr
- subsampled data since tiffcp currently doesn't support it.
- http://bugzilla.maptools.org/show_bug.cgi?id=2097
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.4.html b/html/v3.9.4.html
deleted file mode 100644
index b201366e..00000000
--- a/html/v3.9.4.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.4
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.4<BR>
-<B>Previous Version</B>: <A HREF=v3.9.3.html>v3.9.3</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Complete the fixes for CVE-2009-2347.
-
- <li> Tiffcrop now supports custom page sizes.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> None.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> Fixed inadequate validation of the SubjectDistance field.
-
- <li> Fixed bad handling of out of order tags definated late by
- a codec.
-
- <li> Avoid re-preparing jpeg tables unnecessarily.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tiffcrop: Added an option to allow the user to specify a
- custom page size on the command line. Fix the case where a
- page size specified with a fractional part was being coerced
- to an integer by retyping the variables that define the paper
- size. Corrected European page size dimensions.
-
- <li> tiff2rgba: Completed fixes for "CVE-2009-2347 libtiff:
- integer overflows in various inter-color space conversion
- tools". http://bugzilla.maptools.org/show_bug.cgi?id=2079
-
- <li> tiff2pdf: Fix assorted bugs in tiff2pdf: missing "return"
- in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
- wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
- size is larger. Also, there are a bunch of places that try to
- memset() a malloc'd buffer before checking for malloc failure, which
- would result in core dump if there actually were a failure.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v3.9.5.html b/html/v3.9.5.html
deleted file mode 100644
index 6cae7d9c..00000000
--- a/html/v3.9.5.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v3.9.5
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v3.9.5<BR>
-<B>Previous Version</B>: <A HREF=v3.9.4.html>v3.9.4</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> configure.ac: Should use AC_CANONICAL_HOST since host specifies
- the run-time target whereas target is used to specify the final
- output target if the package is a build tool (like a compiler),
- which libtiff is not. Resolves libtiff bug 2307 "Use
- AC_CANONICAL_HOST macro".
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> libtiff/tif_getimage.c: Check the number of samples per pixel when
- working with YCbCr image in PickContigCase(). As per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2216
-
- <li> libtiff/tif_dir.c: Set the bogus post-decoding hook when processing
- TIFFTAG_BITSPERSAMPLE in _TIFFVSetField() for the case of 8 bit when
- we don't need any post-processing. That helps to reset the hook if we
- previously set this field to some other value and the hook was
- initialized accordingly. As per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2035
-
- <li> libtiff/tif_getimage.c: Avoid wrong math du to the signed/unsigned
- integer type conversions. As per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2207
-
- <li> libtiff/tif_dirinfo.c: Don't use assertions in _TIFFFieldWithTag()
- and _TIFFFieldWithName() if the tag is not found in the tag table.
- This should be normal situation and returned NULL value should be
- properly handled by the caller.
-
- <li> libtiff/{tif_dirwrite.c, tif_print.c}: Properly handle "DotRange"
- tag as it can be either byte or short size and should be set and read
- by value, not as an array. As per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2116
-
- <li> libtiff/tif_dirread.c: Really reset the tag count in CheckDirCount()
- to expected value as the warning message suggests. As per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=1963
-
- <li> libtiff/tif_open.c: Fix mode check before opening a file.
- http://bugzilla.maptools.org/show_bug.cgi?id=1906
-
- <li> libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
- CVE-2010-3087 per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2140
-
- <li> libtiff/tif_dirread.c: fix crash when reading a badly-constructed
- TIFF per http://bugzilla.maptools.org/show_bug.cgi?id=1994
-
- <li> libtiff/tif_ojpeg.c: fix buffer overflow on problem data
- http://bugzilla.maptools.org/show_bug.cgi?id=1999
-
- <li> libtiff/tif_dirread.c: modify warnings
- http://bugzilla.maptools.org/show_bug.cgi?id=2016
-
- <li> libtiff/tif_jpeg.c: fix use of clumplines calculation
- http://bugzilla.maptools.org/show_bug.cgi?id=2149
-
- <li> libtiff/tif_color.c: prevent crash in handling bad TIFFs
- resolves CVE-2010-2595
- http://bugzilla.maptools.org/show_bug.cgi?id=2208
-
- <li> libtiff/tif_dirread.c: fix needless tag ordering warning
- http://bugzilla.maptools.org/show_bug.cgi?id=2210
-
- <li> libtiff/tif_jpeg.c: reduce usage of JCS_UNKNOWN in order
- to improve compatibility with various viewers
- submitted by e-mail from Dwight Kelly <dkelly@apago.com>
-
- <li> libtiff/tif_strip.c: use TIFFGetFieldDefaulted instead
- of TIFFGetField when we assume that it will succeed
- http://bugzilla.maptools.org/show_bug.cgi?id=2215
-
- <li> libtiff/tif_dirread.c: tolerate some cases where
- FIELD_COLORMAP is missing
- http://bugzilla.maptools.org/show_bug.cgi?id=2189
-
- <li> libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
- caused by commit on 2010-12-14. Submitted by e-mail from
- Even Rouault <even.rouault@mines-paris.org>
-
- <li> libtiff/tif_dirwrite.c: Avoid undefined behaviour when casting from
- float to unsigned integer in TIFFWriteRationalArray() as reported by
- Kareem Shehata.
-
- <li> libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
- a move left. Without this, a malicious input file can generate an
- indefinitely large series of runs without a0 ever reaching the right
- margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192.
- This is a modified version of a patch proposed by Drew Yao of Apple
- Product Security. It adds an unexpected() report, and disallows the
- equality case, since emitting a run without increasing a0 still allows
- buffer overrun.
-
- <li> libtiff/tif_fax3.h: Fix to last change allowing zero length
- runs at the start of a scanline - needed for legal cases.
-
- <li> libtiff/tif_thunder.c: Correct potential buffer overflow with
- thunder encoded files with wrong bitspersample set. The libtiff
- development team would like to thank Marin Barbella and TippingPoint's
- Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
- CVE-2011-1167).
- http://bugzilla.maptools.org/show_bug.cgi?id=2300
-
- <li> libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC
- where they are already available. (#2301)
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tools/tiffcrop.c: Patch from Richard Nolde. Reject YCbCr
- subsampled data since tiffcrop currently doesn't support it. Fix
- JPEG support.
-
- <li> tools/tiffcp.c: Initialize buffer arrays with zero to avoid
- referencing to uninitialized memory in some cases (e.g. when tile size
- set bigger than the image size).
-
- <li> tools/tiff2pdf.c: Better generation of ID field in
- t2p_write_pdf_trailer(). Get rid of GCC aliasing warnings.
-
- <li> tools/tiff2pdf.c: Fixed computation of the tile buffer size when
- converting JPEG encoded tiles.
-
- <li> tools/tiff2pdf.c: Better handling of string fields, use static
- string buffers instead of dynamically allocated, use strncpy() instead
- of strcpy(), control the string lengths.
-
- <li> tools/{tiff2bw.c, thumbnail.c, pal2rgb.c}: Fix the count for
- WhitePoint tag as per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2042
-
- <li> tools/tiffdump.c: Use PrintData() function instead of
- PrintByte/Short/Long(). Should fix an issue reported at
- http://bugzilla.maptools.org/show_bug.cgi?id=2116
-
- <li> tools/tiffset.c: Properly handle TIFFTAG_PAGENUMBER,
- TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING, TIFFTAG_DOTRANGE
- which should be set by value.
-
- <li> tools/tiffdump.c: Avoid integer overflows computing the buffer size
- for large directories. As per bug
- http://bugzilla.maptools.org/show_bug.cgi?id=2218
-
- <li> tools/tiff2pdf.c: Fixed ID buffer filling in
- t2p_write_pdf_trailer(), thanks to Dmitry V. Levin.
-
- <li> tools/tiffcrop.c: Patch from Richard Nolde to avoid a
- potentially unterminated buffer due to using an exceptionally long
- file name.
-
- <li> tools/tiff2ps.c: improvements and enhancements from Richard Nolde
- with additional command line options for Document Title,
- Document Creator, and Page Orientation
-
- <li> tools/tiffsplit.c: abort when reading a TIFF without a byte-count
- per http://bugzilla.maptools.org/show_bug.cgi?id=1996
-
- <li> tools/tiff2pdf.c: add fill-page option
- http://bugzilla.maptools.org/show_bug.cgi?id=2051
-
- <li> tools/fax2ps.c: replace unsafe tmpfile() with mkstemp()
- http://bugzilla.maptools.org/show_bug.cgi?id=2118
-
- <li> tools/tiff2pdf.c: fix colors for images with RGBA
- interleaved data
- http://bugzilla.maptools.org/show_bug.cgi?id=2250
-
- <li> tools/tiffcrop.c: new release by Richard Nolde
- http://bugzilla.maptools.org/show_bug.cgi?id=2004
-
- <li> tools/fax2ps.c: be consistent with page-numbering
- http://bugzilla.maptools.org/show_bug.cgi?id=2225
-
- <li> tools/gif2tiff.c: fix buffer overrun
- http://bugzilla.maptools.org/show_bug.cgi?id=2270
-
- <li> tools/fax2ps.c (main): Use tmpfile() rather than mkstemp() since
- it is much more portable. Tmpfile is included in ISO/IEC
- 9899:1990 and the WIN32 CRT.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.0.html b/html/v4.0.0.html
deleted file mode 100644
index d9b4c2bd..00000000
--- a/html/v4.0.0.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.0
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.0<BR>
-<B>Previous Version</B>: <A HREF=v3.9.5.html>v3.9.5</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-https://download.osgeo.org/libtiff</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. Please consult
-the ChangeLog file in the source package for full change details. The
-following information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<P><A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A></P>
-
-BigTIFF support changes:
-
-<UL>
-
- <LI>The options parameter in the TIFFOpen and TIFFClientOpen funcs has
- been extended. When creating new files, you can add option '4' to
- specify you want to create a ClassicTIFF file, though that is the
- default and the option is not strictly necessary. (As such, old
- calling code will continue to function and create ClassicTIFF files.)
- Or you can add option '8' to specify you want to create a BigTIFF file
- instead. This new option is also reflected in some of the tools we
- already upgraded. For instance, you can use the -8 option on tiffcp to
- have tiffcp produce BigTIFF files instead of the default ClassicTIFF.
- (Whilst on additional option is provided for version selection when
- creating new files, no such option is necessary when reading TIFF
- files. LibTiff reads ClassicTIFF and BigTIFF both, and the application
- does not need to be aware which TIFF version an opened file is.)
-
- <LI>Although the tag count in BigTIFF is 64bit, we restricted the
- count in the implementation to a much more reasonable size. This is
- necessary in current implementation, because all tag data gets read
- automatically in the IFD reading stage, so if there's half a dozen
- private tags with multiple gigabytes of data that causes considerable
- overhead even if the application level is never interested in these
- tags. Our choice to ignore tags with data longer then a certain sanity
- value is much needed as things stand. We also recommend to step away
- from writing tiles that are 8 kilobyte in their uncompressed form, or
- writing single-line strips, in really big files, resulting in mega's
- of tiles or strips. It's much more efficient to choose bigger tile or
- strip sizes, up to several megabyte if needed, and have a few kilo of
- tiles or strips instead.
-
- <LI>Although it's rare, some application code does directly access
- file offsets. Some of these are automatically upgraded because they
- used the toff_t type, others need to be aware that the datatype
- changed and need to start using toff_t or uint64. This impacts access
- to tags like the EXIF IFD tag, for example, or the SubIfds tag, or to
- StripOffsets or TileOffsets, the return type of functions like
- TIFFCurrentDirOffset, and a parameter type to functions like
- TIFFSetSubDirectory.
-
- <LI>Although it's rare, some application code does use structures
- like TIFFHeader or TIFFDirEntry that used to be an exact binary
- representation of TIFF structures. These need to change. The old
- TIFFHeader structure is replaced by the new TIFFHeaderClassic,
- TIFFHeaderBig, and TIFFHeaderCommon structures that are an exact
- binary representation of the ClassicTIFF and BigTIFF header, and of
- the part that is common to both. There is no new equivalent for the
- old TIFFDirEntry structure (or more precisely, there is still a
- TIFFDirEntry structure, but it is changed, moved to library-private
- definition, and no longer an exact binary representation of the tag
- structure of either TIFF version).
-
- <LI>Sizer functions, like TIFFTileSize or TIFFScanlineSize and the
- like, return a tmsize_t value (tmsize_t is defined as int32 on 32bit
- machines, and int64 on 64bit machines, and as such it is meant to
- represent signed memory sizes). This is because we figure 98% of the
- calling code uses the return value as sizes in allocations and the
- like. So, any overflow that is theoretically possible with BigTIFF
- when LibTiff is running on a 32bit system, is best detected inside the
- sizer functions and it is best to return a type that makes sense as a
- memory size. If your calling code is the exception and is interested
- in actual file size, you best use the newer TIFFTileSize64 or
- TIFFScanlineSize64 function that returns an uint64 type.
-
- <LI>These TIFF tags require a 64-bit type as an argument in
- libtiff 4.0.0:
- <UL>
- <LI> TIFFTAG_FREEBYTECOUNTS
- <LI> TIFFTAG_FREEOFFSETS
- <LI> TIFFTAG_STRIPBYTECOUNTS
- <LI> TIFFTAG_STRIPOFFSETS
- <LI> TIFFTAG_TILEBYTECOUNTS
- <LI> TIFFTAG_TILEOFFSETS
- </UL>
-
-</UL>
-
-Other important backward incompatible changes in the public API:
-
-<UL>
- <LI> TIFFRewriteField() renamed into _TIFFRewriteField() and moved out
- from the public interface (from tiffio.h to tiffiop.h). Type of its
- 'count' parameter changed from uint32 to tmsize_t.
-
- <LI> TIFFMergeFieldInfo() returns non-void result now. It returns 0
- if successful and -1 if failed. Though this is now obsoleted function
- and should not be used in new programs. Use the new tag extension
- scheme instead.
-
- <LI> TIFFFieldWithTag() and TIFFFieldWithName() functions now return
- pointer to TIFFField constant object instead of TIFFFieldInfo.
-
- <LI> TIFFReassignTagToIgnore() function and TIFFIgnoreSense enumeration
- have been removed. They was unused and never been used properly.
- Should be unneeded for high-level applications.
-
- <LI> TIFFTagValue structure removed from the public tiffio.h
- to private tif_dir.h and not accessible anymore. It should be unneeded
- for high-level applications.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<P><A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A></P>
-
-<UL>
-
- <LI>Updated autotools: Autoconf 2.68, Automake 1.11.1, libtool
- 2.4.
-
- <LI>Enabled support for Automake silent build rules
- (--enable-silent-rules or 'make V=0')
-
- <LI>Enabled support for Automake colorized and parallel tests.
-
- <LI>Added detection of 64-bit integer types since libtiff 4.0
- requires use of 64-bit signed and unsigned integer types.
-
- <LI>Libtiff now provides a more comprehensive test suite with
- over 72 tests, which may be executed on Unix-like systems, or
- under Microsoft Windows using MinGW/MSYS or Cygwin.
-
- <LI>--disable-lzma configure option to disable use of liblzma.
-
- <LI>--enable-defer-strile-load configure option to enable
- experimental deferred strip/tile offset/size loading. May
- cause some extremely sophisticated uses of libtiff to fail.
-
- <LI>--enable-chunky-strip-read configure option to enable
- experimental enable reading large strips in chunks in
- TIFFReadScanline().
-
- <LI>Now always uses WIN32 native I/O functions for Microsoft
- Windows except for under Cygwin.
-
- <LI>Now provides a pkg-config support file (libtiff-4.pc).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<P><A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A></P>
-
-<UL>
-
- <LI>Patches/fixes made to stable libtiff (v3.9.X) are also
- applied to 4.0.0. There are too many to list here. See the
- distribution ChangeLog for a detailed change list.
-
- <LI>There is considerable change in some files like
- tif_dirread and tif_dirwrite. These changes don't impact
- backwards compatibility, they are mostly a clean rewrite that
- does allow BigTIFF support as well as somewhat more robust
- reading of the unexpected already and will also serve future
- API extension but does not impact current API or functionality
- in a negative way that you need to know about.
-
- <LI>Although there is still a functional definition for types
- like toff_t (file offset), tstrip_t (strip index number), etc,
- we recommend against using these in newer code. We have
- learned that it is next to impossible to use these
- consistently and make real abstraction of the binary format of
- these types. Instead, at a certain level we always end up
- doing casts anyway, and taking the exact binary format into
- account, so these types are nothing but dangerously misleading
- and obfuscating. You do not need to update calling code that
- uses them, as 99.9% of such code will continue to work. But we
- recommend against using them in newer calling code, and we
- started replacing them with binary clear types like uint16,
- uint32 and such in the library.
-
- <LI>We do use and will continue to use one functional type
- that is an exception to the above rule, being tmsize_t. This
- is a signed memory size type, i.e. it is int32 on 32bit
- machines, or int64 on 64bit machines.
-
- <LI>Optionally support LZMA compression via TIFF tag 34925.
- Tiffcp supports compression levels similar to "-c lzma:p1" or
- "-c zip:p9 for setting the LZMA compression parameters.
-
- <LI>Optionally defer the load of strip/tile offset and size
- tags for optimized scanning of directories. Enabled with the
- --enable-defer-strile-load configure option (DEFER_STRILE_LOAD
- #define in tif_config.h).
-
- <LI>Optionally enable experimental support for reading big
- strips in chunks. Enabled with the --enable-chunky-strip-read
- configure option.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<P><A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A></P>
-
-<UL>
-
- <LI>tiffset: add -d and -sd switches to allow operation on
- a particular directory, not just the first.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<P><A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A></P>
-
-<UL>
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.1.html b/html/v4.0.1.html
deleted file mode 100644
index 5e927173..00000000
--- a/html/v4.0.1.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.1
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.1<BR>
-<B>Previous Version</B>: <A HREF=v4.0.0.html>v4.0.0</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> --enable-ld-version-script: New configure option to
- enable shared library symbol versioning on ELF-based systems
- (e.g. Linux and FreeBSD) which use the GNU linker. This
- allows multiple major versions of libtiff to be loaded
- simultaneously into the same application or library without
- conflict, as long as all libtiffs involved are built with
- versioned symbols. This option is not enabled by default.
-
- <li> Added libtiff private dependency on -llzma for pkg-config.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
- <li> libtiff/tif_dir.c, libtiff/tif_dirread.c: Extra caution around
- assumption tag fetching is always successful.
-
- <li> libtiff/tif_jpeg.c: Extra caution for case where sp is NULL.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.10.html b/html/v4.0.10.html
deleted file mode 100644
index 578404e1..00000000
--- a/html/v4.0.10.html
+++ /dev/null
@@ -1,327 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.10
-</TITLE>
-<STYLE>
-table, th, td {
- border: 1px solid black;
- border-collapse: collapse;
-}
-th, td {
- padding: 8pt;
- text-align: center;
-}
-th {
- text-align: center;
-}
-td {
- text-align: center;
-}
-
-ul li {
- padding: 3pt;
-}
-
-ul.a {
- list-style-type: circle;
-}
-
-ul.b {
- list-style-type: square;
-}
-
-ol.c {
- list-style-type: upper-roman;
-}
-
-ol.d {
- list-style-type: lower-alpha;
-}
-
-</STYLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.10<BR>
-<B>Previous Version</B>: <A HREF=v4.0.9.html>v4.0.9</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a><BR>
-<B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI> The libtiff source repository is changed from CVS to Git and the master libtiff source repository is now at <A HREF="https://gitlab.com/libtiff/libtiff">Gitlab</A>. This is the first release to be made from the new Git repository.</LI>
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI>Minimum CMake version is now v2.8.11 for the CMake-based build.</LI>
-
- <LI>Libwebp will be automatically detected and used by configure/cmake if present.
-
- <LI>Libzstd will be automatically detected and used by configure/cmake if present.
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI>
- <P>Added ZSTD compression codec.
- <A HREF="https://github.com/facebook/zstd">Zstandard<A> or zstd as
- short version, is a fast lossless compression algorithm, targeting
- real-time compression scenarios at zlib-level and better
- compression ratios. It's backed by a very fast entropy stage,
- provided by Huff0 and FSE library.</P>
-
- <P>We require libzstd >= 1.0.0 so as to be able to use streaming
- compression and decompression methods.</P>
-
- <P>The default compression level we have selected is 9 (range goes
- from 1 to 22), which experimentally offers equivalent or better
- compression ratio than the default deflate/ZIP level of 6, and
- much faster compression.</P>
-
- <P>For example on a 6600x4400 16bit image, tiffcp -c zip runs in
- 10.7 seconds, while tiffcp -c zstd runs in 5.3
- seconds. Decompression time for zip is 840 ms, and for zstd 650
- ms. File size is 42735936 for zip, and 42586822 for zstd. Similar
- findings on other images.</P>
-
- <P>On a 25894x16701 16bit image,</P>
-
- <TABLE>
- <TR><TH>Compressor</TH> <TH>Compression time</TH> <TH>Decompression time</TH> <TH>File size</TH></TR>
-
- <TR><TD>ZSTD</TD> <TD>35 s</TD> <TD>3.2 s</TD> <TD>399 700 498</TD></TR>
- <TR><TD>ZIP/Deflate</TD> <TD>1m 20 s</TD> <TD>4.9 s </TD> <TD>419 622 336</TD></TR>
- </TABLE>
-
- <P>Please note that COMPRESSION_ZSTD is self-assigned the id 50000
- by the libtiff project and is not officially registered with Adobe
- since Adobe's registration function is defunct.</P>
- </LI>
-
- <LI><P>Added WebP compression codec.
-
- <A HREF="https://developers.google.com/speed/webp/">WebP</A> is
- a high performance compressor intended for photos as commonly used
- on the Web. The WebP encoder is not designed for huge images, but
- serves very well for compressing strips and tiles in TIFF as long
- as the strips or tiles do not exceed the capability of the
- encoder.</P>
-
- <P>As a test of compression performance metrics, GraphicsMagick
- was used on an extremely high quality 8-bit TIFF image from a
- Hasselblad H4D-200MS camera with pixel dimensions of
- 16352x12264. The image was re-encoded with 1024x1024 tiles and
- various compression algorithms, using default settings for each
- algorithm. Based on this test, the compression and decompression
- performance (in iterations per second), the resulting file size,
- and the calculated total PSNR are provided here. It can be seen
- that WebP provided excellent encode and decode performance, and
- the compressed file size was very small:</P>
-
- <TABLE>
- <caption>Compressor Relative Performance</caption>
- <TR><TH>Compressor</TH> <TH>Compression</TH> <TH>Decompression</TH> <TH>File size</TH> <TH>PSNR</TH></TR>
-
-
- <TR><TD>None</TD> <TD>0.536 iter/s</TD> <TD>1.506 iter/s</TD> <TD>576.03MiB</TD> <TD>Inf</TD></TR>
- <TR><TD>LZW</TD> <TD>0.105 iter/s</TD> <TD>0.266 iter/s</TD> <TD>270.68MiB</TD> <TD>Inf</TD></TR>
- <TR><TD>ZStd</TD> <TD>0.020 iter/s</TD> <TD>0.518 iter/s</TD> <TD>238.42MiB</TD> <TD>Inf</TD></TR>
- <TR><TD>LZMA</TD> <TD>0.009 iter/s</TD> <TD>0.056 iter/s</TD> <TD>247.61MiB</TD> <TD>Inf</TD></TR>
- <TR><TD>ZIP</TD> <TD>0.009 iter/s</TD> <TD>0.301 iter/s</TD> <TD>247.88MiB</TD> <TD>Inf</TD></TR>
- <TR><TD>JPEG</TD> <TD>0.446 iter/s</TD> <TD>0.760 iter/s</TD> <TD>18.59MiB</TD> <TD>39.00</TD></TR>
- <TR><TD>WebP</TD> <TD>0.019 iter/s</TD> <TD>0.330 iter/s</TD> <TD>9.38MiB</TD> <TD>37.78</TD></TR>
-
- </TABLE>
-
- <P>Please note that COMPRESSION_WEBP is self-assigned the id 50001
- by the libtiff project and is not officially registered with Adobe
- since Adobe's registration function is defunct.</P>
-
- </LI>
-
- <LI>TIFFPrintDirectory(): fix null pointer dereference on corrupted
- file. Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2770">Bug
- 2770 - NULL Pointer Dereference in tiffinfo.c with crafted TIFF
- image</A>.</LI>
-
- <LI>_TIFFVGetField(): fix heap out-of-bounds access when requesting
- TIFFTAG_NUMBEROFINKS on a EXIF
- directory. Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2765">Bug
- 2765 - Heap Out-Of-Bounds Memory Access - 68122422</A>. Reported by
- Google Autofuzz project</LI>
-
- <LI>Fix a memory leak in TIFFStreamOpen. TIFFStreamOpen allocates a
- new tiff{o,i}s_data, but if TIFFClientOpen fails then that struct is
- leaked.</LI>
-
- <LI><P>Fix for bug 2772. It is possible to craft a TIFF document where
- the IFD list is circular, leading to an infinite loop while
- traversing the chain. The libtiff directory reader has a failsafe
- that will break out of this loop after reading 65535 directory
- entries, but it will continue processing, consuming time and
- resources to process what is essentially a bogus TIFFdocument.</P>
-
- <P>This change fixes the above behavior by breaking out of processing
- when a TIFF document has >= 65535 directories and terminating with an
- error.</P></LI>
-
- <LI>ChopUpSingleUncompressedStrip: avoid memory exhaustion
- (CVE-2017-11613). In ChopUpSingleUncompressedStrip(), if the
- computed number of strips is big enough and we are in read only
- mode, validate that the file size is consistent with that number of
- strips to avoid useless attempts at allocating a lot of memory for
- the td_stripbytecount and td_stripoffset
- arrays. Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2724">Bug
- 2724 - memory exhaustion in ChopUpSingleUncompressedStrip</A></LI>
-
- <LI>Port code: Add strtol, strtoll and strtoull. Also update
- strtoul. All use the same implementation from NetBSD libc.</LI>
-
- <LI>Fix for CVE-2018-7456 "NULL pointer dereference in
- TIFFPrintDirectory".</LI>
-
- <LI>TIFFWriteDirectorySec: avoid
- assertion. Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2795">Bug
- 2795 - There is a reachable assertion abort in function
- TIFFWriteDirectorySec() of libtiff 4.0.9. A crafted input will lead
- to remote denial of attack. (CVE-2018-10963)</A>.</LI>
-
- <LI>LZWDecodeCompat(): fix potential index-out-of-bounds
- write. Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2780">Bug
- 2780 - A heap-buffer-overflow in function LZWDecodeCompat in
- libtiff4.0.9 (CVE-2018-8905)</A>. The fix consists in using the
- similar code as LZWDecode() to validate we don't write outside of
- the output buffer.</LI>
-
- <LI><P>Remove builtin support for GUI warning and error message
- boxes. Now warnings always go to the console by default unless
- applications define their own warning and error handlers.</P>
-
- <P>GUI applications (and Windows CE) are required to define such handlers.</P></LI>
-
- <LI>Add tag and pseudo-tag definitions for ESRI LERC codec (out of
- tree codec whose source is
- at <A HREF="https://github.com/OSGeo/gdal/blob/master/gdal/frmts/gtiff/tif_lerc.c">
- https://github.com/OSGeo/gdal/blob/master/gdal/frmts/gtiff/tif_lerc.c</A>).</LI>
-
- <LI>Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API
- Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2800">
- Bug 2800 - Regression: Opening a tiff file with v4.0.9 gives an error with LZWDecode</A>.</LI>
-
- <LI>TIFFSetupStrips(): avoid potential uint32 overflow on 32-bit
- systems with large number of strips. Probably relates
- to <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2788">Bug
- 2788 - Heap Buffer Overflow in TIFFWriteScanline of tif_write.c
- (CVE-2018-10779)</A></LI>
-
- <LI>Fix out-of-bound read on some tiled images.</LI>
-
- <LI>Avoid potential int32 overflows in multiply_ms().</LI>
-
- <LI>Only read/write TIFFTAG_GROUP3OPTIONS or TIFFTAG_GROUP4OPTIONS
- if compression is COMPRESSION_CCITTFAX3 or
- COMPRESSION_CCITTFAX4.</LI>
-
- <LI>JBIG: fix potential out-of-bounds write in JBIGDecode(). Also
- fix a (harmless) potential use of uninitialized memory when
- tif->tif_rawsize > tif->tif_rawcc. In case libtiff is compiled with
- CHUNKY_STRIP_READ_SUPPORT, make sure that whole strip data is
- provided to JBIGDecode().</LI>
-
- <LI>LZMAPreEncode: emit verbose error if lzma_stream_encoder() fails
- (typically because not enough memory available)</LI>
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI>tiff2pdf: Fix
- CVE-2017-9935, <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2704">Bug
- 2704 - There is a heap based buffer overflow in the tiff2pdf tool of
- the libtiff library. A crafted TIFF document can lead to a heap
- based buffer overflow resulting in multiple damages.</A>.</LI>
-
- <LI>pal2rgb: Add workaround to pal2rgb buffer overflow.</LI>
-
- <LI>tiffset: Add support for LONG8, SLONG8 and IFD8 field types</LI>
-
- <LI>tiff2bw: avoid null pointer dereference in case of out of memory
- situation. Fixes <A HREF="http://bugzilla.maptools.org/show_bug.cgi?id=2819">Bug
- 2819 - There is a NULL pointer dereference at function LZWDecode in
- libtiff 4.0.9 (CVE-2018-18661)</A></LI>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> None</LI>
-
-</UL>
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.2.html b/html/v4.0.2.html
deleted file mode 100644
index cbed8b89..00000000
--- a/html/v4.0.2.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.2
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.2<BR>
-<B>Previous Version</B>: <A HREF=v4.0.1.html>v4.0.1</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> tif_getimage.c: added support for _SEPARATED CMYK images.
-
- <li> tif_getimage.c: Added support for greyscale + alpha.
-
- <li> Added TIFFCreateCustomDirectory() and TIFFCreateEXIFDirectory() functions.
- <li> tif_print.c: Lots of fixes around printing corrupt or
- hostile input.
-
- <li> Improve handling of corrupt ycbcrsubsampling values.
-
- <li> tif_unix.c: use strerror to get meaningful error messages.
-
- <li> tif_jpeg.c: fix serious bugs in JPEGDecodeRaw().
-
- <li> tif_jpeg.c: Fix size overflow (zdi-can-1221,CVE-2012-1173).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tiff2pdf: Defend against integer overflows while
- calculating required buffer sizes (CVE-2012-2113).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.3.html b/html/v4.0.3.html
deleted file mode 100644
index e034c3f0..00000000
--- a/html/v4.0.3.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.3
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.3<BR>
-<B>Previous Version</B>: <A HREF=v4.0.2.html>v4.0.2</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> Updated to use Automake 1.12.4. Avoids security problem with
- 'make distcheck' (CVE-2012-3386).
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> Various memory buffer access fixes.
-
- <li> Fix handling when writing RGBA jpeg compressed imagery
- (<A HREF="http://trac.osgeo.org/gdal/ticket/4732">http://trac.osgeo.org/gdal/ticket/4732</A>).
-
- <li> Fix to work properly with IJG JPEG 7+.
-
- <li> New functions TIFFFieldTag(), TIFFFieldName(),
- TIFFFieldDataType(), TIFFFieldPassCount(), TIFFFieldReadCount(),
- TIFFFieldWriteCount() to use as external accessors for the opaque
- type TIFFField.
-
- <li> Fix bug rewriting image tiles in a compressed
- file (<A HREF="http://trac.osgeo.org/gdal/ticket/4771">http://trac.osgeo.org/gdal/ticket/4771</A>).
-
- <li> Add TIFF/FX tag support in libtiff.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tiff2pdf: Fail when TIFFSetDirectory() fails. This prevents
- core dumps or perhaps even arbitrary code execution when processing
- a corrupt input file (CVE-2012-3401).
-
- <li> tiff2pdf: Fix two places where t2p_error didn't get set after a
- malloc failure. No crash risk AFAICS, but the program might not
- report exit code 1 as desired.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.4.html b/html/v4.0.4.html
deleted file mode 100644
index 61c31101..00000000
--- a/html/v4.0.4.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.4
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.4<BR>
-<B>Previous Version</B>: <A HREF=v4.0.4beta.html>v4.0.4beta</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> configure.ac / configure
- <UL>
- <LI> Bugzilla Bug #2405: Correct shell equality operator.
- <LI> Bugzilla Bug #2498: Adds an option to select the file I/O style on Windows hosts.
- </UL>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI> tif_dir.c:
- <UL>
- <LI> TIFFNumberOfDirectories: Coverity 1134470 "Logically dead code"
- </UL>
-
- <LI> tif_dirread.c:
- <UL>
- <LI> TIFFReadDirEntryDoubleArray: Coverity 298626 "Logically dead code".
- <LI> TIFFReadDirEntryFloatArray: Coverity 298627 "Logically dead code".
- <LI> TIFFReadDirEntryIfd8Array: Coverity 298628 "Logically dead code".
- <LI> TIFFReadDirEntrySlong8Array: Coverity 298629 "Logically dead code"
- </UL>
-
- <LI> tif_dirwrite.c
- <UL>
- <LI> _TIFFRewriteField: Coverity 1024310 "Resource leak".
- </UL>
-
- <LI> tif_jpeg.c
- <UL>
- <LI> JPEGCleanup: Coverity 298624 "Dereference before null check".
- <LI> JPEGDecode: Coverity 602597 "Operands don't affect result".
- </UL>
-
- <LI> tif_getimage.c
- <UL>
- <LI> Bugzilla Bug #2409: Correct reading of certain tiled TIFFs.
- </UL>
-
- <LI> tif_luv.c
- <UL>
- <LI> LogLuvDecodeStrip: Coverity 991239 "Division or modulo by zero".
- <LI> LogLuvDecodeTile: Coverity 991227 "Division or modulo by zero".
- <LI> LogLuvEncodeStrip: Coverity 991240 "Division or modulo by zero".
- <LI> LogLuvEncodeTile: Coverity 991241 "Division or modulo by zero".
- </UL>
-
- <LI> tif_lzw.c
- <UL>
- <LI> Decode files that contain consecutive CODE_CLEAR codes.
- </UL>
-
- <LI> tif_ojpeg.c
- <UL>
- <LI> OJPEGReadBufferFill: Coverity 603400 "Missing break in switch".
- <LI> OJPEGReadHeaderInfoSecStreamDht: Coverity 601720 "Resource leak".
- </UL>
-
- <LI> tif_read.c
- <UL>
- <LI> TIFFStartTile: Coverity 715973 and 715974 "Division or modulo by zero".
- </UL>
-
- <LI> tif_unix.c
- <UL>
- <LI> Bugzilla Bug #2510: Fix several harmless but still annoying warnings.
- </UL>
-
- <LI> tif_write
- <UL>
- <LI> TIFFWriteEncodedStrip: Coverity 715975 "Division or modulo by zero".
- <LI> TIFFWriteEncodedTile: Coverity 715976 and 715977 "Division or modulo by zero".
- <LI> TIFFWriteRawStrip: Coverity 715978 "Division or modulo by zero".
- <LI> TIFFWriteScanline: Coverity 715979 "Division or modulo by zero".
- </UL>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> bmp2tiff
- <UL>
- <LI> Coverity 1024225 "Untrusted value as argument".
- <LI> Coverity 1024678 "Unchecked return value from library".
- <LI> Coverity 1024679 "Unchecked return value from library".
- <LI> Coverity 1214160 "Ignoring number of bytes read".
- </UL>
-
- <LI> gif2tiff
- <UL>
- <LI> Coverity 1024222 "Untrusted value as argument".
- <LI> Coverity 1024890 "Ignoring number of bytes read".
- <LI> Coverity 1024891 "Ignoring number of bytes read".
- <LI> Coverity 1024892 "Ignoring number of bytes read".
- <LI> Coverity 1024893 "Ignoring number of bytes read".
- <LI> Coverity 1024894 "Ignoring number of bytes read".
- </UL>
-
- <LI> ras2tiff
- <UL>
- <LI> Corrected Sun Raster header definition to be safe for
- 64-bit systems. Add some header validations. Fixes many
- (unspecified) Coverity issues.
- <LI> Coverity 1024223 "Untrusted value as argument".
- <LI> Coverity 1301206: "Integer handling issues (BAD_SHIFT)".
- </UL>
-
- <LI> raw2tiff
- <UL>
- <LI> Coverity 1024887 "Unchecked return value from library".
- <LI> Coverity 1024888 "Unchecked return value from library".
- <LI> Coverity 1024889 "Unchecked return value from library".
- <LI> Coverity 1214162 "Ignoring number of bytes read".
- </UL>
-
- <LI> tiff2pdf
- <UL>
- <LI> Bugzilla Bug #2078. Suppress initial output of the header.
- <LI> Bugzilla Bug #2150. Change ColorTransform from "0" to "1".
- <LI> Take care in using the return value from snprintf().
- <LI> Coverity 1024181 "Structurally dead code".
- <LI> Coverity 1024181 "Structurally dead code".
- <LI> Coverity 1227690 "Unused value".
- <LI> Coverity 298621 "Resource leak".
- </UL>
-
- <LI> tiff2ps
- <UL>
- <LI> Correct sizing and scaling problems with output document.
- </UL>
-
- <LI> tiffcp
- <UL>
- <LI> Coverity 1024306, 1024307, 1024308, 1024309 "Resource leak".
- </UL>
-
- <LI> tiffcrop
- <UL>
- <LI> Correctly copy the compression tag from the source TIFF.
- <LI> Coverity 1024545 "Division or modulo by zero".
- <LI> Coverity 1024586 "Logically dead code".
- <LI> Coverity 1024796 "Nesting level does not match indentation".
- <LI> Coverity 1024797 "Nesting level does not match indentation".
- <LI> Coverity 1294542 "Logical vs. bitwise operator".
- <LI> Coverity 1299740 "Out-of-bounds write".
- <LI> Coverity 1299741 "Dereference before null check".
- </UL>
-
- <LI> tiffdither
- <UL>
- <LI>Check memory allocations for failure. Also check
- multiplication overflow. (Fixes #2501, CVE-2014-8128)
- </UL>
-
- <LI> tiffgt.c
- <UL>
- <LI> Bugzilla Bug #2401. Appropriately call glFlush().
- </UL>
-
- <LI> tiffmedian
- <UL>
- <LI> Coverity 1024386 "Out-of-bounds read".
- <LI> Coverity 1024386 "Out-of-bounds read".
- <LI> Coverity 1024795 "Nesting level does not match indentation".
- <LI> Coverity 1024795 "Nesting level does not match indentation".
- </UL>
-
- <LI> tiffsplit
- <UL>
- <LI> Coverity 1024304 "Resource leak".
- <LI> Coverity 1024305 "Resource leak".
- </UL>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> addtiffo
- <UL>
- <LI> Check buffer size calculation for overflow.
- <LI> Coverity 298615 "Resource leak".
- <LI> Coverity 1024649 "Unintended sign extension".
- </UL>
-
- <LI> iptcutil
- <UL>
- <LI> Coverity 1024468 "Infinite loop".
- <LI> Coverity 1024727 "Truncated stdio return value".
- <LI> Coverity 1214240 "Untrusted loop bound".
- </UL>
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.4beta.html b/html/v4.0.4beta.html
deleted file mode 100644
index 66e451a8..00000000
--- a/html/v4.0.4beta.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.4beta
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.4beta<BR>
-<B>Previous Version</B>: <A HREF=v4.0.3.html>v4.0.3</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <li> Updated to use Automake 1.15 and Libtool 2.4.5
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <li> TIFFCheckDirOffset(): avoid uint16 overflow
- when reading more than 65535 directories, and effectively error out when
- eaching that limit.
-
- <li> TIFFNumberOfDirectories(): generate error in case of directory count
- overflow.
-
- <li> TIFFAdvanceDirectory(): If nextdir is found to
- be defective, then set it to zero before returning error in order
- to terminate processing of truncated TIFF.
-
- <li> JPEG-in-TIFF: recognize SOF2, SOF9 and SOF10
- markers to avoid emitting a warning. Fix for compatibility with mozjpeg library.
- Note: the default settings of mozjpeg will produce progressive scans, which
- is forbidden by the TechNote.
-
- <li> JPEG-in-TIFF: Fix regression introduced in 3.9.3/4.0.0 that caused
- all tiles/strips to include quantization tables even when the jpegtablesmode
- had the JPEGTABLESMODE_QUANT bit set.
- Also add explicit removal of Huffman tables when jpegtablesmode has the
- JPEGTABLESMODE_HUFF bit set, which avoids Huffman tables to be emitted in the
- first tile/strip (only useful in update scenarios. create-only was
- fine)
-
- <li> JPEG-in-TIFF: fix segfault in JPEGFixupTagsSubsampling() on
- corrupted image where tif->tif_dir.td_stripoffset == NULL.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2471">#2471</a>)
-
- <li> NeXT codec: add new tests to check that we don't read outside of
- the compressed input stream buffer.
-
- <li> NeXT codec: check that BitsPerSample = 2. Fixes
- <a href="http://bugzilla.maptools.org/show_bug.cgi?id=2487">#2487</a> (CVE-2014-8129)
-
- <li> NeXT codec: in the "run mode", use tilewidth for tiled images
- instead of imagewidth to avoid crash
-
- <li> tif_getimage.c: in OJPEG case, fix checks on strile width/height
- in the putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile and
- putcontig8bitYCbCr21tile cases.
-
- <li> in TIFFDefaultDirectory(), reset any already existing
- extended tags installed by user code through the extender mechaninm before
- calling the extender callback (GDAL #5054)
-
- <li> Fix warnings about unused parameters.
-
- <li> Fix various typos in comments found by Debian lintian tool (GDAL #5756)
-
- <li> tif_getimage.c: avoid divide by zero on invalid YCbCr subsampling.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2235">#2235</a>)
-
- <li> tif_dirread.c: In EstimateStripByteCounts(), check return code
- of _TIFFFillStriles(). This solves crashing bug on corrupted
- images generated by afl.
-
- <li>tif_read.c: fix several invalid comparisons of a uint64 value with
- &lt;= 0 by casting it to int64 first. This solves crashing bug on corrupted
- images generated by afl.
-
- <li>TIFFSetField(): refuse to set negative values for
- TIFFTAG_XRESOLUTION and TIFFTAG_YRESOLUTION that cause asserts when writing
- the directory
-
- <li>TIFFReadDirectory(): refuse to read ColorMap or
- TransferFunction if BitsPerSample has not yet been read, otherwise reading
- it later will cause user code to crash if BitsPerSample > 1
-
- <li> TIFFRGBAImageOK(): return FALSE if LOGLUV with
- SamplesPerPixel != 3, or if CIELAB with SamplesPerPixel != 3 or BitsPerSample != 8
-
- <li> tif_config.vc.h: no longer use "#define snprintf _snprintf" with
- Visual Studio 2015 aka VC 14 aka MSVC 1900
-
- <li> LZW codec: prevent potential null dereference of sp->dec_codetab in LZWPreDecode
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2459">#2459</a>)
-
- <li> TIFFReadBufferSetup(): avoid passing -1 size
- to TIFFmalloc() if passed user buffer size is 0
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2459">#2459</a>)
-
- <li> TIFFReadDirEntryOutputErr(): Incorrect
- count for tag should be a warning rather than an error since
- errors terminate processing.
-
- <li> tif_dirinfo.c (TIFFField) : Fix data type for TIFFTAG_GLOBALPARAMETERSIFD tag.
-
- <li> Add definitions for TIFF/EP CFARepeatPatternDim and CFAPattern tags
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2457">#2457</a>)
-
- <li> tif_codec.c, tif_dirinfo.c: Enlarge some fixed-size buffers that weren't
- large enough, and eliminate substantially all uses of sprintf(buf,
- ...) in favor of using snprintf(buf, sizeof(buf), ...)
- <li> configure.ac: Improve pkg-config static linking by adding -lm to Libs.private when needed.
-
- <li> tif_write.c: tmsize_t related casting warning fixed for
- 64bit linux.
-
- <li> tif_read.c: uint64/tmsize_t change for MSVC warnings.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2427">#2427</a>)
-
- <li> Fix TIFFPrintDirectory's handling of
- field_passcount fields: it had the TIFF_VARIABLE and
- TIFF_VARIABLE2 cases backwards.
-
- <li> PixarLog codec: Improve previous patch for CVE-2012-4447
- (to enlarge tbuf for possible partial stride at end) so that
- overflow in the integer addition is detected.
-
- <li>tif_{unix,vms,win32}.c (_TIFFmalloc): ANSI C does not
- require malloc() to return NULL pointer if requested allocation
- size is zero. Assure that _TIFFmalloc does.
-
- <li>tif_zip.c: Avoid crash on NULL error messages.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <li> tiff2pdf: Fis various crashes and memory buffer access errors (oCERT-2014-013).
- <li> tiff2pdf: fix buffer overflow on some YCbCr JPEG compressed images.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2445">#2445</a>)
- <li> tiff2pdf: fix buffer overflow on YCbCr JPEG compressed image.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2443">#2443</a>)
- <li> tiff2pdf: check return code of TIFFGetField() when reading TIFFTAG_SAMPLESPERPIXEL
- <li> tiff2pdf: fix crash due to invalid tile count.
- <li> tiff2pdf: Detect invalid settings of BitsPerSample/SamplesPerPixel for CIELAB / ITULAB
- <li> tiff2pdf: Assure that memory size calculations for
- _TIFFmalloc() do not overflow the range of tmsize_t.
- <li> tiff2pdf: Avoid crash when TIFFTAG_TRANSFERFUNCTION tag returns one channel,
- with the other two channels set to NULL.
- <li> tiff2pdf: close PDF file. (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2479">#2479</a>)
- <li> tiff2pdf: Preserve input file directory order when pages
- are tagged with the same page number.
- <li> tiff2pdf.c: terminate after failure of allocating ycbcr buffer
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2449">#2449</a> CVE-2013-4232)
- <li> tiff2pdf: Rewrite JPEG marker parsing in
- t2p_process_jpeg_strip to be at least marginally competent. The
- approach is still fundamentally flawed, but at least now it won't
- stomp all over memory when given bogus input. Fixes CVE-2013-1960.
- <li> tiffdump: Guard against arithmetic overflow when calculating allocation buffer sizes.
- <li> tiffdump: fix crash due to overflow of entry count.
- <li> tiffdump: Fix double-free bug.
- <li> tiffdump: detect cycle in TIFF directory chaining.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2463">#2463</a>)
- <li> tiffdump: avoid passing a NULL pointer to read() if seek() failed before.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2459">#2459</a>)
- <li> tiff2bw: when Photometric=RGB, the utility only works if SamplesPerPixel = 3. Enforce that.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2485">#2485</a>, CVE-2014-8127)
- <li> pal2rgb, thumbnail: fix crash by disabling TIFFTAG_INKNAMES copying.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2484">#2484</a>, CVE-2014-8127)
- <li> thumbnail: fix out-of-buffer write.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2489">#2489</a>, CVE-2014-8128)
- <li> thumbnail, tiffcmp: only read/write TIFFTAG_GROUP3OPTIONS
- or TIFFTAG_GROUP4OPTIONS if compression is COMPRESSION_CCITTFAX3 or
- COMPRESSION_CCITTFAX4.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2493">#2493</a>, CVE-2014-8128)
- <li> tiffcp: fix crash when converting YCbCr JPEG-compressed to none.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2480">#2480</a>)
- <li> bmp2tiff: fix crash due to int overflow related to input BMP dimensions
- <li> tiffcrop: fix crash due to invalid TileWidth/TileHeight
- <li> tiffcrop: fix segfault if bad value passed to -Z option
- ( <a href="http://bugzilla.maptools.org/show_bug.cgi?id=2459">#2459</a>)
- and add missing va_end in dump_info
- <li> thumbnail, tiffcrop: "fix" heap read over-run found with
- Valgrind and Address Sanitizer on test suite
- <li> fax2ps: check malloc()/realloc() result. (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2470">#2470</a>)
- <li> gif2tiff: apply patch for CVE-2013-4243. (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2451">#2451</a>)
- <li> gif2tiff: fix possible OOB write. (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2452">#2452</a>, CVE-2013-4244)
- <li> gif2tiff: Be more careful about corrupt or hostile input files (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2450">#2450</a>, CVE-2013-4231)
- <li> tiff2rgba: fix usage message in that zip was wrongly described
- <li> tiffinfo: Default various values fetched with TIFFGetField() to avoid being uninitialized.
- <li> tiff2ps: Fix bug in auto rotate option code.
- <li> ppm2tiff: avoid zero size buffer vulnerability (CVE-2012-4564).
- check the linebytes calculation too, get the max() calculation
- straight, avoid redundant error messages, check for malloc
- failure.
- <li> tiffset: now supports a -u option to unset a tag.
- (<a href="http://bugzilla.maptools.org/show_bug.cgi?id=2419">#2419</a>)
- <li> Fix warnings about unused parameters.
- <li> rgb2ycbcr, tiff2bw, tiff2pdf, tiff2ps, tiffcrop, tiffdither :
- Enlarge some fixed-size buffers that weren't
- large enough, and eliminate substantially all uses of sprintf(buf,
- ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to
- protect against overflow of fixed-size buffers. This responds in
- particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
- t2p_write_pdf_page().
- <li>html/man/tiff2ps.1.html, html/man/tiffcp.1.html,
- html/man/tiffdither.1.html, man/tiff2ps.1, man/tiffcp.1,
- man/tiffdither.1, tools/tiff2ps.c, tools/tiffcp.c,
- tools/tiffdither.c: Sync tool usage printouts and man pages with
- reality
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <li> Fix warnings about variables set but not used.
- <li> contrib/dbs/xtiff/xtiff.c: Enlarge some fixed-size buffers that weren't
- large enough, and eliminate substantially all uses of sprintf(buf,
- ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to
- protect against overflow of fixed-size buffers.
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.5.html b/html/v4.0.5.html
deleted file mode 100644
index a3354704..00000000
--- a/html/v4.0.5.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.5
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.5<BR>
-<B>Previous Version</B>: <A HREF=v4.0.4.html>v4.0.4</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Support for configure/build using CMake.
- <li> Support for large (> 2GB) files under Microsoft Windows.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> CMakeLists.txt / CMake
- <UL>
- <LI> Configuration and building using CMake is now supported
- under Microsoft Windows and on Unix-type systems.
- </UL>
- </LI>
-
- <LI> configure.ac / configure
- <UL>
- <LI> Test for and use fseeko() if it is available. This allows
- supporting large files on Unix-type systems with a 32-bit 'long'
- type and a 64-bit 'off_t' type.
- </UL>
- </LI>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI> tiffiop.h:
- <UL>
- <LI> Macros added to use 64-bit equivalents for all standard I/O
- and POSIX APIs used by libtiff and its tools which are limited
- to 2GB in Windows builds. Note that these 64-bit equivalents
- were introduced by the CRT provided with Visual Studio 2005 and
- if the necessary CRT is not installed on the target computer,
- the program will not run. The wrapper macros will not be
- activated unless the definition _MSC_VER is at least 1400 or
- __MSVCRT_VERSION__ is at least 0x800.
- </UL>
-
- <LI> tif_unix.c:
- <UL>
- <LI> Updated to support large files under Microsoft Windows.
- This makes tif_unix.c a completely viable candidate for use
- under Windows (in spite of its name) if the CRT is modern
- enough. Please note that tif_win32.c already supported large
- files, but only 'tiffinfo' and 'tiffdump' made any provision to
- support large files under Windows.
- <LI> _tiffReadProc() and _tiffWriteProc() are modified to chunk
- I/O to a maximum size of 2GB for extremely large I/O
- requests. This surmounts limitations in the Microsoft Windows
- read() and write() APIs (which are limited to the range of a
- 32-bit 'int'), and may avoid poor behavior with extremely large
- I/O requests on other systems.
- </UL>
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> All tools
- <UL>
- <LI> Updated to use I/O wrapper macros from tiffiop.h in order
- to support large files under Microsoft Windows.
- </UL>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.6.html b/html/v4.0.6.html
deleted file mode 100644
index dbca5c86..00000000
--- a/html/v4.0.6.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.6
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.6<BR>
-<B>Previous Version</B>: <A HREF=v4.0.5.html>v4.0.5</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <li> Now builds with CMake 2.8.9 and newer (previously required 3.0.0)
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> CMakeLists.txt / CMake
- <UL>
- <LI> Supports CMake 2.8.9 and later.
- <LI> Add missing file which wasn't being distributed, causing
- unit tests to fail.
- <LI> Make shared/static library building configurable.
- <LI> CMake reads all version information directly from
- configure.ac to avoid duplication of values.
- <LI> CMake builds are now included in 'distcheck' target.
- </UL>
- </LI>
-
- <LI> Makefile.am
- <UL>
- <LI> Autotools 'make distcheck' now tests the CMake-based build
- if CMake is available.
- </UL>
- </LI>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI> Fixes to avoid undefined behaviour of signed types (C
- standard compliance).
- <LI> Fixes to avoid possible isses when casting to unsigned char.
- <LI> Fixes to avoid undefined behaviour with shifts.
- <LI> Fix generation of output with 16 bit or 32 bit integer, when
- byte swapping is needed, in horizontal predictor (#2521).
- <LI> Fix decoding when there is a single pixel to decode (unlikely
- case...) and byte swapping is involved.
- <LI> Add add explicit masking with 0xff before casting to uchar in
- floating-point horizontal differencing and accumulation routines.
- <LI> Eliminate requirement for and use of 64-bit constant values.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> tiffgt
- <UL>
- <LI> Silence glut API deprecation warnings on MacOS X.
- </UL>
-
-
- <LI> fax2ps
- <UL>
- <LI> Detect failure to write to temporary file.
- </UL>
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-Last updated $Date: 2016-09-25 20:05:47 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.7.html b/html/v4.0.7.html
deleted file mode 100644
index dab75df8..00000000
--- a/html/v4.0.7.html
+++ /dev/null
@@ -1,412 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.7
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.7<BR>
-<B>Previous Version</B>: <A HREF=v4.0.6.html>v4.0.6</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a><BR>
-<B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI> The libtiff tools bmp2tiff, gif2tiff, ras2tiff, sgi2tiff,
- sgisv, and ycbcr are completely removed from the distribution.
- These tools were written in the late 1980s and early 1990s for
- test and demonstration purposes. In some cases the tools were
- never updated to support updates to the file format, or the
- file formats are now rarely used. In all cases these tools
- increased the libtiff security and maintenance exposure beyond
- the value offered by the tool.
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI> libtiff/tif_dirread.c: in TIFFFetchNormalTag(), do not
- dereference NULL pointer when values of tags with
- TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII access are
- 0-byte arrays. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2593 (regression
- introduced by previous fix done on 2016-11-11 for
- CVE-2016-9297). Reported by Henri Salo. Assigned as
- CVE-2016-9448
-
- <LI> libtiff/tif_aux.c: fix crash in TIFFVGetFieldDefaulted() when
- requesting Predictor tag and that the zip/lzw codec is not
- configured. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2591
-
- <LI> libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make sure
- that values of tags with TIFF_SETGET_C16_ASCII /
- TIFF_SETGET_C32_ASCII access are null terminated, to avoid
- potential read outside buffer in _TIFFPrintField(). Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2590
-
- <LI> libtiff/tif_dirread.c: reject images with OJPEG compression
- that have no TileOffsets/StripOffsets tag, when OJPEG
- compression is disabled. Prevent null pointer dereference in
- TIFFReadRawStrip1() and other functions that expect
- td_stripbytecount to be non NULL. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2585
-
- <LI> libtiff/tif_strip.c: make TIFFNumberOfStrips() return the
- td->td_nstrips value when it is non-zero, instead of
- recomputing it. This is needed in TIFF_STRIPCHOP mode where
- td_nstrips is modified. Fixes a read outsize of array in
- tiffsplit (or other utilities using TIFFNumberOfStrips()).
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2587
- (CVE-2016-9273)
-
- <LI> libtiff/tif_predict.h, libtiff/tif_predict.c: Replace
- assertions by runtime checks to avoid assertions in debug
- mode, or buffer overflows in release mode. Can happen when
- dealing with unusual tile size like YCbCr with
- subsampling. Reported as MSVR 35105 by Axel Souchet & Vishal
- Chauhan from the MSRC Vulnerabilities & Mitigations
-
- <LI> libtiff/tif_dir.c: discard values of SMinSampleValue and
- SMaxSampleValue when they have been read and the value of
- SamplesPerPixel is changed afterwards (like when reading a
- OJPEG compressed image with a missing SamplesPerPixel tag, and
- whose photometric is RGB or YCbCr, forcing SamplesPerPixel
- being 3). Otherwise when rewriting the directory (for example
- with tiffset, we will expect 3 values whereas the array had
- been allocated with just one), thus causing a out of bound
- read access. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2500
- (CVE-2014-8127, duplicate: CVE-2016-3658)
-
- <LI> libtiff/tif_dirwrite.c: avoid null pointer dereference on
- td_stripoffset when writing directory, if FIELD_STRIPOFFSETS
- was artificially set for a hack case in OJPEG case. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2500
- (CVE-2014-8127, duplicate: CVE-2016-3658)
-
- <LI> libtiff/tif_getimage.c (TIFFRGBAImageOK): Reject attempts to
- read floating point images.
-
- <LI> libtiff/tif_predict.c (PredictorSetup): Enforce
- bits-per-sample requirements of floating point predictor (3).
- Fixes CVE-2016-3622 "Divide By Zero in the tiff2rgba tool."
-
- <LI> libtiff/tif_pixarlog.c: fix out-of-bounds write vulnerabilities
- in heap allocated buffers. Reported as MSVR 35094. Discovered by
- Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
- Mitigations team.
-
- <LI> libtiff/tif_write.c: fix issue in error code path of
- TIFFFlushData1() that didn't reset the tif_rawcc and tif_rawcp
- members. I'm not completely sure if that could happen in
- practice outside of the odd behaviour of t2p_seekproc() of
- tiff2pdf). The report points that a better fix could be to
- check the return value of TIFFFlushData1() in places where it
- isn't done currently, but it seems this patch is enough.
- Reported as MSVR 35095. Discovered by Axel Souchet & Vishal
- Chauhan & Suha Can from the MSRC Vulnerabilities & Mitigations
- team.
-
- <LI> libtiff/tif_pixarlog.c: Fix write buffer overflow in
- PixarLogEncode if more input samples are provided than
- expected by PixarLogSetupEncode. Idea based on
- libtiff-CVE-2016-3990.patch from
- libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, but with
- different and simpler check. (bugzilla #2544)
-
- <LI> libtiff/tif_read.c: Fix out-of-bounds read on memory-mapped
- files in TIFFReadRawStrip1() and TIFFReadRawTile1() when
- stripoffset is beyond tmsize_t max value (reported by Mathias
- Svensson)
-
- <LI> libtiff/tif_read.c: make TIFFReadEncodedStrip() and
- TIFFReadEncodedTile() directly use user provided buffer when
- no compression (and other conditions) to save a memcpy()
-
- <LI> libtiff/tif_write.c: make TIFFWriteEncodedStrip() and
- TIFFWriteEncodedTile() directly use user provided buffer when
- no compression to save a memcpy().
-
- <LI> libtiff/tif_luv.c: validate that for COMPRESSION_SGILOG and
- PHOTOMETRIC_LOGL, there is only one sample per pixel. Avoid
- potential invalid memory write on corrupted/unexpected images
- when using the TIFFRGBAImageBegin() interface (reported by
- Clay Wood)
-
- <LI> libtiff/tif_pixarlog.c: fix potential buffer write overrun in
- PixarLogDecode() on corrupted/unexpected images (reported by
- Mathias Svensson) (CVE-2016-5875)
-
- <LI> libtiff/libtiff.def: Added _TIFFMultiply32 and
- _TIFFMultiply64 to libtiff.def
-
- <LI> libtiff/tif_config.vc.h (HAVE_SNPRINTF): Add a '1' to the
- HAVE_SNPRINTF definition.
-
- <LI> libtiff/tif_config.vc.h (HAVE_SNPRINTF): Applied patch by
- Edward Lam to define HAVE_SNPRINTF for Visual Studio 2015.
-
- <LI> libtiff/tif_dirread.c: when compiled with DEFER_STRILE_LOAD,
- fix regression, introduced on 2014-12-23, when reading a
- one-strip file without a StripByteCounts tag. GDAL #6490
-
- <LI> libtiff/*: upstream typo fixes (mostly contributed by Kurt
- Schwehr) coming from GDAL internal libtiff
-
- <LI> libtiff/tif_fax3.h: make Param member of TIFFFaxTabEnt
- structure a uint16 to reduce size of the binary.
-
- <LI> libtiff/tif_read.c, tif_dirread.c: fix indentation issues
- raised by GCC 6 -Wmisleading-indentation
-
- <LI> libtiff/tif_pixarlog.c: avoid zlib error messages to pass a
- NULL string to %s formatter, which is undefined behaviour in
- sprintf().
-
- <LI> libtiff/tif_next.c: fix potential out-of-bound write in NeXTDecode()
- triggered by http://lcamtuf.coredump.cx/afl/vulns/libtiff5.tif
- (bugzilla #2508)
-
- <LI> libtiff/tif_luv.c: fix potential out-of-bound writes in
- decode functions in non debug builds by replacing assert()s by
- regular if checks (bugzilla #2522). Fix potential
- out-of-bound reads in case of short input data.
-
- <LI> libtiff/tif_getimage.c: fix out-of-bound reads in
- TIFFRGBAImage interface in case of unsupported values of
- SamplesPerPixel/ExtraSamples for LogLUV / CIELab. Add explicit
- call to TIFFRGBAImageOK() in TIFFRGBAImageBegin(). Fix
- CVE-2015-8665 reported by limingxing and CVE-2015-8683
- reported by zzf of Alibaba.
-
- <LI> libtiff/tif_dirread.c: workaround false positive warning of
- Clang Static Analyzer about null pointer dereference in
- TIFFCheckDirOffset().
-
- <LI> libtiff/tif_fax3.c: remove dead assignment in
- Fax3PutEOLgdal(). Found by Clang Static Analyzer
-
- <LI> libtiff/tif_dirwrite.c: fix truncation to 32 bit of file
- offsets in TIFFLinkDirectory() and TIFFWriteDirectorySec()
- when aligning directory offsets on a even offset (affects
- BigTIFF). This was a regression of the changeset of
- 2015-10-19.
-
- <LI> libtiff/tif_write.c: TIFFWriteEncodedStrip() and
- TIFFWriteEncodedTile() should return -1 in case of failure of
- tif_encodestrip() as documented
-
- <LI> libtiff/tif_dumpmode.c: DumpModeEncode() should return 0 in
- case of failure so that the above mentioned functions detect
- the error.
-
- <LI> libtiff/*.c: fix MSVC warnings related to cast shortening and
- assignment within conditional expression
-
- <LI> libtiff/*.c: fix clang -Wshorten-64-to-32 warnings
-
- <LI> libtiff/tif_dirread.c: prevent reading ColorMap or
- TransferFunction if BitsPerPixel > 24, so as to avoid huge
- memory allocation and file read attempts
-
- <LI> libtiff/tif_dirread.c: remove duplicated assignment (reported
- by Clang static analyzer)
-
- <LI> libtiff/tif_dir.c, libtiff/tif_dirinfo.c,
- libtiff/tif_compress.c, libtiff/tif_jpeg_12.c: suppress
- warnings about 'no previous declaration/prototype'
-
- <LI> libtiff/tiffiop.h, libtiff/tif_dirwrite.c: suffix constants
- by U to fix 'warning: negative integer implicitly converted to
- unsigned type' warning (part of -Wconversion)
-
- <LI> libtiff/tif_dir.c, libtiff/tif_dirread.c,
- libtiff/tif_getimage.c, libtiff/tif_print.c: fix -Wshadow
- warnings (only in libtiff/)
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> tools/Makefile.am: The libtiff tools bmp2tiff, gif2tiff,
- ras2tiff, sgi2tiff, sgisv, and ycbcr are completely removed
- from the distribution. The libtiff tools rgb2ycbcr and
- thumbnail are only built in the build tree for testing. Old
- files are put in new 'archive' subdirectory of the source
- repository, but not in distribution archives. These changes
- are made in order to lessen the maintenance burden.
-
- <LI> tools/tiff2pdf.c: avoid undefined behaviour related to
- overlapping of source and destination buffer in memcpy() call
- in t2p_sample_rgbaa_to_rgb() Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2577
-
- <LI> tools/tiff2pdf.c: fix potential integer overflows on 32 bit
- builds in t2p_read_tiff_size() Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2576
-
- <LI> tools/fax2tiff.c: fix segfault when specifying -r without
- argument. Patch by Yuriy M. Kaminskiy. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2572
-
- <LI> tools/tiffinfo.c: fix out-of-bound read on some tiled images.
- (http://bugzilla.maptools.org/show_bug.cgi?id=2517)
-
- <LI> tools/tiffcrop.c: fix multiple uint32 overflows in
- writeBufferToSeparateStrips(), writeBufferToContigTiles() and
- writeBufferToSeparateTiles() that could cause heap buffer
- overflows. Reported by Henri Salo from Nixu Corporation.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2592
-
- <LI> tools/tiffcrop.c: fix out-of-bound read of up to 3 bytes in
- readContigTilesIntoBuffer(). Reported as MSVR 35092 by Axel
- Souchet & Vishal Chauhan from the MSRC Vulnerabilities &
- Mitigations team.
-
- <LI> tools/tiff2pdf.c: fix write buffer overflow of 2 bytes on
- JPEG compressed images. Reported by Tyler Bohan of Cisco Talos
- as TALOS-CAN-0187 / CVE-2016-5652. Also prevents writing 2
- extra uninitialized bytes to the file stream.
-
- <LI> tools/tiffcp.c: fix out-of-bounds write on tiled images with odd
- tile width vs image width. Reported as MSVR 35103
- by Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
- Mitigations team.
-
- <LI> tools/tiff2pdf.c: fix read -largely- outsize of buffer in
- t2p_readwrite_pdf_image_tile(), causing crash, when reading a
- JPEG compressed image with TIFFTAG_JPEGTABLES length being
- one. Reported as MSVR 35101 by Axel Souchet and Vishal
- Chauhan from the MSRC Vulnerabilities & Mitigations team.
-
- <LI> tools/tiffcp.c: fix read of undefined variable in case of
- missing required tags. Found on test case of MSVR 35100.
-
- <LI> tools/tiffcrop.c: fix read of undefined buffer in
- readContigStripsIntoBuffer() due to uint16 overflow. Probably
- not a security issue but I can be wrong. Reported as MSVR
- 35100 by Axel Souchet from the MSRC Vulnerabilities &
- Mitigations team.
-
- <LI> tools/tiffcrop.c: fix various out-of-bounds write
- vulnerabilities in heap or stack allocated buffers. Reported
- as MSVR 35093, MSVR 35096 and MSVR 35097. Discovered by Axel
- Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
- Mitigations team.
-
- <LI> tools/tiff2pdf.c: fix out-of-bounds write vulnerabilities in
- heap allocate buffer in t2p_process_jpeg_strip(). Reported as
- MSVR 35098. Discovered by Axel Souchet and Vishal Chauhan from
- the MSRC Vulnerabilities & Mitigations team.
-
- <LI> tools/tiff2bw.c: fix weight computation that could result of
- color value overflow (no security implication). Fix bugzilla
- #2550. Patch by Frank Freudenberg.
-
- <LI> tools/rgb2ycbcr.c: validate values of -v and -h parameters to
- avoid potential divide by zero. Fixes CVE-2016-3623 (bugzilla #2569)
-
- <LI> tools/tiffcrop.c: Fix out-of-bounds write in loadImage().
- From patch libtiff-CVE-2016-3991.patch from
- libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro (bugzilla
- #2543)
-
- <LI> tools/tiff2rgba.c: Fix integer overflow in size of allocated
- buffer, when -b mode is enabled, that could result in
- out-of-bounds write. Based initially on patch
- tiff-CVE-2016-3945.patch from libtiff-4.0.3-25.el7_2.src.rpm
- by Nikola Forro, with correction for invalid tests that
- rejected valid files. (bugzilla #2545)
-
- <LI> tools/tiffcrop.c: Avoid access outside of stack allocated
- array on a tiled separate TIFF with more than 8 samples per
- pixel. Reported by Kaixiang Zhang of the Cloud Security Team,
- Qihoo 360 (CVE-2016-5321 / CVE-2016-5323 , bugzilla #2558 /
- #2559)
-
- <LI> tools/tiffdump.c: fix a few misaligned 64-bit reads warned by
- -fsanitize
-
- <LI> tools/tiffdump.c (ReadDirectory): Remove uint32 cast to
- _TIFFmalloc() argument which resulted in Coverity report.
- Added more mutiplication overflow checks.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-Last updated $Date: 2016-11-19 17:47:40 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.8.html b/html/v4.0.8.html
deleted file mode 100644
index 456f2bdb..00000000
--- a/html/v4.0.8.html
+++ /dev/null
@@ -1,446 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.8
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.8<BR>
-<B>Previous Version</B>: <A HREF=v4.0.7.html>v4.0.7</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a><BR>
-<B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI> libtiff/tif_getimage.c, libtiff/tif_open.c: add parenthesis
- to fix cppcheck clarifyCalculation warnings *
- libtiff/tif_predict.c, libtiff/tif_print.c: fix printf
- unsigned vs signed formatting (cppcheck
- invalidPrintfArgType_uint warnings)
-
- <LI> libtiff/tif_read.c, libtiff/tiffiop.h: fix uint32 overflow in
- TIFFReadEncodedStrip() that caused an integer division by
- zero. Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2596
-
- <LI> libtiff/tif_pixarlog.c, libtiff/tif_luv.c: fix heap-based
- buffer overflow on generation of PixarLog / LUV compressed
- files, with ColorMap, TransferFunction attached and nasty
- plays with bitspersample. The fix for LUV has not been
- tested, but suffers from the same kind of issue of PixarLog.
- Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2604
-
- <LI> libtiff/tif_strip.c: revert the change in
- TIFFNumberOfStrips() done for
- http://bugzilla.maptools.org/show_bug.cgi?id=2587 /
- CVE-2016-9273 since the above change is a better fix that
- makes it unnecessary.
-
- <LI> libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip()
- to instantiate compute ntrips as
- TIFFhowmany_32(td->td_imagelength, rowsperstrip), instead of a
- logic based on the total size of data. Which is faulty is the
- total size of data is not sufficient to fill the whole image,
- and thus results in reading outside of the
- StripByCounts/StripOffsets arrays when using
- TIFFReadScanline(). Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2608.
-
- <LI> libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case of
- failure in OJPEGPreDecode(). This will avoid a divide by zero,
- and potential other issues. Reported by Agostino Sarubbo.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2611
-
- <LI> libtiff/tif_write.c: fix misleading indentation as warned by GCC.
-
-
- <LI> libtiff/tif_fax3.h: revert change done on 2016-01-09 that
- made Param member of TIFFFaxTabEnt structure a uint16 to
- reduce size of the binary. It happens that the Hylafax
- software uses the tables that follow this typedef
- (TIFFFaxMainTable, TIFFFaxWhiteTable, TIFFFaxBlackTable),
- although they are not in a public libtiff header. Raised by
- Lee Howard. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2636
-
- <LI> libtiff/tiffio.h, libtiff/tif_getimage.c: add
- TIFFReadRGBAStripExt() and TIFFReadRGBATileExt() variants of
- the functions without ext, with an extra argument to control
- the stop_on_error behaviour.
-
- <LI> libtiff/tif_getimage.c: fix potential memory leaks in error
- code path of TIFFRGBAImageBegin(). Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2627
-
- <LI> libtiff/tif_jpeg.c: increase libjpeg max memory usable to 10
- MB instead of libjpeg 1MB default. This helps when creating
- files with "big" tile, without using libjpeg temporary files.
- Related to https://trac.osgeo.org/gdal/ticket/6757
-
- <LI> libtiff/tif_jpeg.c: avoid integer division by zero in
- JPEGSetupEncode() when horizontal or vertical sampling is set
- to 0. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2653
-
- <LI> libtiff/tif_dirwrite.c: in
- TIFFWriteDirectoryTagCheckedRational, replace assertion by
- runtime check to error out if passed value is strictly
- negative. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2535
-
- <LI> libtiff/tif_dirread.c: avoid division by floating point 0 in
- TIFFReadDirEntryCheckedRational() and
- TIFFReadDirEntryCheckedSrational(), and return 0 in that case
- (instead of infinity as before presumably) Apparently some
- sanitizers do not like those divisions by zero. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2644
-
- <LI> libtiff/tif_dir.c, tif_dirread.c, tif_dirwrite.c: implement
- various clampings of double to other data types to avoid
- undefined behaviour if the output range isn't big enough to
- hold the input value. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2643
- http://bugzilla.maptools.org/show_bug.cgi?id=2642
- http://bugzilla.maptools.org/show_bug.cgi?id=2646
- http://bugzilla.maptools.org/show_bug.cgi?id=2647
-
- <LI> libtiff/tif_jpeg.c: validate BitsPerSample in
- JPEGSetupEncode() to avoid undefined behaviour caused by
- invalid shift exponent. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2648
-
- <LI> libtiff/tif_read.c: avoid potential undefined behaviour on
- signed integer addition in TIFFReadRawStrip1() in isMapped()
- case. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2650
-
- <LI> libtiff/tif_getimage.c: add explicit uint32 cast in
- putagreytile to avoid UndefinedBehaviorSanitizer warning.
- Patch by Nicolás Peña. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2658
-
- <LI> libtiff/tif_read.c: TIFFReadBufferSetup(): use _TIFFcalloc()
- to zero initialize tif_rawdata. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2651
-
- <LI> libtiff/tiffio.h, tif_unix.c, tif_win32.c, tif_vms.c: add
- _TIFFcalloc()
-
- <LI> libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c: return 0 in
- Encode functions instead of -1 when TIFFFlushData1() fails.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2130
-
- <LI> libtiff/tif_ojpeg.c: fix leak in
- OJPEGReadHeaderInfoSecTablesQTable,
- OJPEGReadHeaderInfoSecTablesDcTable and
- OJPEGReadHeaderInfoSecTablesAcTable when read fails. Patch by
- Nicolás Peña. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2659
-
- <LI> libtiff/tif_jpeg.c: only run JPEGFixupTagsSubsampling() if
- the YCbCrSubsampling tag is not explicitly present. This helps
- a bit to reduce the I/O amount when the tag is present
- (especially on cloud hosted files).
-
- <LI> libtiff/tif_lzw.c: in LZWPostEncode(), increase, if
- necessary, the code bit-width after flushing the remaining
- code and before emitting the EOI code. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=1982
-
- <LI> libtiff/tif_pixarlog.c: fix memory leak in error code path of
- PixarLogSetupDecode(). Patch by Nicolás Peña. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2665
-
- <LI> libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c: fix GCC 7
- -Wimplicit-fallthrough warnings.
-
- <LI> libtiff/tif_dirread.c: fix memory leak in non
- DEFER_STRILE_LOAD mode (ie default) when there is both a
- StripOffsets and TileOffsets tag, or a StripByteCounts and
- TileByteCounts Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2689
-
- <LI> libtiff/tif_ojpeg.c: fix potential memory leak in
- OJPEGReadHeaderInfoSecTablesQTable,
- OJPEGReadHeaderInfoSecTablesDcTable and
- OJPEGReadHeaderInfoSecTablesAcTable Patch by Nicolás Peña.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2670
-
- <LI> libtiff/tif_fax3.c: avoid crash in Fax3Close() on empty file.
- Patch by Alan Coopersmith + complement by myself. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2673
-
- <LI> libtiff/tif_read.c: TIFFFillStrip(): add limitation to the
- number of bytes read in case td_stripbytecount[strip] is
- bigger than reasonable, so as to avoid excessive memory
- allocation.
-
- <LI> libtiff/tif_zip.c, tif_pixarlog.c, tif_predict.c: fix memory
- leak when the underlying codec (ZIP, PixarLog) succeeds its
- setupdecode() method, but PredictorSetup fails. Credit to
- OSS-Fuzz (locally run, on GDAL)
-
- <LI> libtiff/tif_read.c: TIFFFillStrip() and TIFFFillTile(): avoid
- excessive memory allocation in case of shorten files. Only
- effective on 64 bit builds and non-mapped cases. Credit to
- OSS-Fuzz (locally run, on GDAL)
-
- <LI> libtiff/tif_read.c: TIFFFillStripPartial() / TIFFSeek(),
- avoid potential integer overflows with read_ahead in
- CHUNKY_STRIP_READ_SUPPORT mode. Should
- especially occur on 32 bit platforms.
-
- <LI> libtiff/tif_read.c: TIFFFillStripPartial(): avoid excessive
- memory allocation in case of shorten files. Only effective on
- 64 bit builds. Credit to OSS-Fuzz (locally run, on GDAL)
-
- <LI> libtiff/tif_read.c: update tif_rawcc in
- CHUNKY_STRIP_READ_SUPPORT mode with tif_rawdataloaded when
- calling TIFFStartStrip() or TIFFFillStripPartial(). This
- avoids reading beyond tif_rawdata when bytecount >
- tif_rawdatasize. Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1545.
- Credit to OSS-Fuzz
-
- <LI> libtiff/tif_color.c: avoid potential int32 overflow in
- TIFFYCbCrToRGBInit() Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1533
- Credit to OSS-Fuzz
-
- <LI> libtiff/tif_pixarlog.c, tif_luv.c: avoid potential int32
- overflows in multiply_ms() and add_ms(). Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1558
- Credit to OSS-Fuzz
-
- <LI> libtiff/tif_packbits.c: fix out-of-buffer read in
- PackBitsDecode() Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1563
- Credit to OSS-Fuzz
-
- <LI> libtiff/tif_luv.c: LogL16InitState(): avoid excessive memory
- allocation when RowsPerStrip tag is missing.
- Credit to OSS-Fuzz (locally run, on GDAL)
-
- <LI> libtiff/tif_lzw.c: update dec_bitsleft at beginning of
- LZWDecode(), and update tif_rawcc at end of LZWDecode(). This
- is needed to properly work with the latest chnges in
- tif_read.c in CHUNKY_STRIP_READ_SUPPORT mode.
-
- <LI> libtiff/tif_pixarlog.c: PixarLogDecode(): resync tif_rawcp
- with next_in and tif_rawcc with avail_in at beginning and end
- of function, similarly to what is done in LZWDecode(). Likely
- needed so that it works properly with latest chnges in
- tif_read.c in CHUNKY_STRIP_READ_SUPPORT mode. But untested...
-
- <LI> libtiff/tif_getimage.c: initYCbCrConversion(): add basic
- validation of luma and refBlackWhite coefficients (just check
- they are not NaN for now), to avoid potential float to int
- overflows. Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1663
- Credit to OSS Fuzz
-
- <LI> libtiff/tif_read.c: _TIFFVSetField(): fix outside range cast
- of double to float. Credit to Google Autofuzz project
-
- <LI> libtiff/tif_getimage.c: initYCbCrConversion(): check luma[1]
- is not zero to avoid division by zero. Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665
- Credit to OSS Fuzz
-
- <LI> libtiff/tif_read.c: _TIFFVSetField(): fix outside range cast
- of double to float. Credit to Google Autofuzz project
-
- <LI> libtiff/tif_getimage.c: initYCbCrConversion(): check luma[1]
- is not zero to avoid division by zero. Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665
- Credit to OSS Fuzz
-
- <LI> libtiff/tif_getimage.c: initYCbCrConversion(): stricter
- validation for refBlackWhite coefficients values. To avoid
- invalid float->int32 conversion. Fixes
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1718
- Credit to OSS Fuzz
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> tools/fax2tiff.c (main): Applied patch by Jörg Ahrens to fix
- passing client data for Win32 builds using tif_win32.c
- (USE_WIN32_FILEIO defined) for file I/O. Patch was provided
- via email on November 20, 2016.
-
- <LI> tools/tiffcp.c: avoid uint32 underflow in cpDecodedStrips
- that can cause various issues, such as buffer overflows in the
- library. Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2598
-
- <LI> tools/tiffcrop.c: fix readContigStripsIntoBuffer() in -i
- (ignore) mode so that the output buffer is correctly
- incremented to avoid write outside bounds. Reported by
- Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2620
-
- <LI> tools/tiffcrop.c: add 3 extra bytes at end of strip buffer in
- readSeparateStripsIntoBuffer() to avoid read outside of heap
- allocated buffer. Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2621
-
- <LI> tools/tiffcrop.c: fix integer division by zero when
- BitsPerSample is missing. Reported by Agostino Sarubbo.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2619
-
- <LI> tools/tiffinfo.c: fix null pointer dereference in -r mode
- when the image has no StripByteCount tag. Reported by
- Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2594
-
- <LI> tools/tiffcp.c: avoid potential division by zero is
- BitsPerSamples tag is missing. Reported by Agostino Sarubbo.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2597
-
- <LI> tools/tif_dir.c: when TIFFGetField(, TIFFTAG_NUMBEROFINKS, )
- is called, limit the return number of inks to SamplesPerPixel,
- so that code that parses ink names doesn't go past the end of
- the buffer. Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2599
-
- <LI> tools/tiffcp.c: avoid potential division by zero is
- BitsPerSamples tag is missing. Reported by Agostino Sarubbo.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2607
-
- <LI> tools/tiffcp.c: fix uint32 underflow/overflow that can cause
- heap-based buffer overflow. Reported by Agostino Sarubbo.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2610
-
- <LI> tools/tiffcp.c: replace assert( (bps % 8) == 0 ) by a non
- assert check. Reported by Agostino Sarubbo. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2605
-
- <LI> tools/tiff2ps.c: fix 2 heap-based buffer overflows (in
- PSDataBW and PSDataColorContig). Reported by Agostino Sarubbo.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2633 and
- http://bugzilla.maptools.org/show_bug.cgi?id=2634.
-
- <LI> tools/tiff2pdf.c: prevent heap-based buffer overflow in -j
- mode on a paletted image. Note: this fix errors out before the
- overflow happens. There could probably be a better fix. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2635
-
- <LI> tools/tiff2pdf.c: fix wrong usage of memcpy() that can
- trigger unspecified behaviour. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2638
-
- <LI> tools/tiff2pdf.c: avoid potential invalid memory read in
- t2p_writeproc. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2639
-
- <LI> tools/tiff2pdf.c: avoid potential heap-based overflow in
- t2p_readwrite_pdf_image_tile(). Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2640
-
- <LI> tools/tiffcrop.c: remove extraneous TIFFClose() in error code
- path, that caused double free. Related to
- http://bugzilla.maptools.org/show_bug.cgi?id=2535
-
- <LI> tools/tiffcp.c: error out cleanly in cpContig2SeparateByRow
- and cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap
- based overflow. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2656 and
- http://bugzilla.maptools.org/show_bug.cgi?id=2657
-
- <LI> tools/raw2tiff.c: avoid integer division by zero. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2631
-
- <LI> tools/tiff2ps.c: call TIFFClose() in error code paths.
-
- <LI> tools/fax2tiff.c: emit appropriate message if the input file
- is empty. Patch by Alan Coopersmith. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2672
-
- <LI> tools/tiff2bw.c: close TIFF handle in error code path. Fixes
- http://bugzilla.maptools.org/show_bug.cgi?id=2677
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-Last updated $Date: 2017-05-21 17:47:46 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.0.9.html b/html/v4.0.9.html
deleted file mode 100644
index 6ab33510..00000000
--- a/html/v4.0.9.html
+++ /dev/null
@@ -1,374 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.0.9
-</TITLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-<FONT FACE="Helvetica, Arial, Sans">
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE=+3>T</FONT>IFF <FONT SIZE=+2>C</FONT>HANGE <FONT SIZE=+2>I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<UL>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-<B>Current Version</B>: v4.0.9<BR>
-<B>Previous Version</B>: <A HREF=v4.0.8.html>v4.0.8</a><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff</A><BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
-http://www.simplesystems.org/libtiff/</a><BR>
-<B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 WIDTH=65% ALIGN=left>
-</UL>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="highlights"><B><FONT SIZE=+3>M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-
-<P><HR WIDTH=65% ALIGN=left>
-<!--------------------------------------------------------------------------->
-
-<A NAME="configure"><B><FONT SIZE=+3>C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI> test/Makefile.am: Add some tests for tiff2bw.
- <LI> * .appveyor.yml, .travis.yml, build/travis-ci: apply patches
- 0001-ci-Travis-script-improvements.patch and
- 0002-ci-Invoke-helper-script-via-shell.patch by Roger Leigh
- (sent to mailing list)
- <LI> .travis.yml, build/travis-ci: new files from
- 0001-ci-Add-Travis-support-for-Linux-builds-with-Autoconf.patch by
- Roger Leigh (sent to mailing list on 2017-06-08)
- This patch adds support for the Travis-CI service.
- <LI> .appveyor.yml: new file from
- 0002-ci-Add-AppVeyor-support.patch by Roger Leigh (sent to mailing
- list on 2017-06-08)
- This patch adds a .appveyor.yml file to the top-level. This allows
- one to opt in to having a branch built on Windows with Cygwin,
- MinGW and MSVC automatically when a branch is pushed to GitHub,
- GitLab, BitBucket or any other supported git hosting service.
- <LI> CMakeLists.txt, test/CMakeLists.txt, test/TiffTestCommon.cmake: apply
- patch 0001-cmake-Improve-Cygwin-and-MingGW-test-support.patch from Roger
- Leigh (sent to mailing list on 2017-06-08)
- This patch makes the CMake build system support running the tests
- with MinGW or Cygwin.
-
- <LI> test/tiffcp-lzw-compat.sh, test/images/quad-lzw-compat.tiff: new files
- to test old-style LZW decompression
- <LI> test/common.sh, Makefile.am, CMakeList.txt: updated with above
- <LI> test/Makefile.am: add missing reference to images/quad-lzw-compat.tiff
- to fix "make distcheck". Patch by Roger Leigh
- <LI> nmake.opt: support a DEBUG=1 option, so as to adjust OPTFLAGS and use
- /MDd runtime in debug mode.
-
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="libtiff"><B><FONT SIZE=+3>C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI> libtiff/tif_color.c: TIFFYCbCrToRGBInit(): stricter clamping to avoid
- int32 overflow in TIFFYCbCrtoRGB().
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1844
- Credit to OSS Fuzz
-
- <LI> libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation for
- refBlackWhite coefficients values. To avoid invalid float->int32 conversion
- (when refBlackWhite[0] == 2147483648.f)
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1907
- Credit to OSS Fuzz
-
- <LI> libtiff/tif_dirinfo.c, tif_dirread.c: add _TIFFCheckFieldIsValidForCodec(),
- and use it in TIFFReadDirectory() so as to ignore fields whose tag is a
- codec-specified tag but this codec is not enabled. This avoids TIFFGetField()
- to behave differently depending on whether the codec is enabled or not, and
- thus can avoid stack based buffer overflows in a number of TIFF utilities
- such as tiffsplit, tiffcmp, thumbnail, etc.
- Patch derived from 0063-Handle-properly-CODEC-specific-tags.patch
- (http://bugzilla.maptools.org/show_bug.cgi?id=2580) by Raphaël Hertzog.
- Fixes:
- http://bugzilla.maptools.org/show_bug.cgi?id=2580
- http://bugzilla.maptools.org/show_bug.cgi?id=2693
- http://bugzilla.maptools.org/show_bug.cgi?id=2625 (CVE-2016-10095)
- http://bugzilla.maptools.org/show_bug.cgi?id=2564 (CVE-2015-7554)
- http://bugzilla.maptools.org/show_bug.cgi?id=2561 (CVE-2016-5318)
- http://bugzilla.maptools.org/show_bug.cgi?id=2499 (CVE-2014-8128)
- http://bugzilla.maptools.org/show_bug.cgi?id=2441
- http://bugzilla.maptools.org/show_bug.cgi?id=2433
-
- <LI> libtiff/tif_swab.c: if DISABLE_CHECK_TIFFSWABMACROS is defined, do not do
- the #ifdef TIFFSwabXXX checks. Make it easier for GDAL to rename the symbols
- of its internal libtiff copy.
-
-
- <LI> libtiff/tif_dirread.c: fix regression of libtiff 4.0.8 in
- ChopUpSingleUncompressedStrip() regarding update of newly single-strip
- uncompressed files whose bytecount is 0. Before the change of 2016-12-03,
- the condition bytecount==0 used to trigger an early exit/disabling of
- strip chop. Re-introduce that in update mode. Otherwise this cause
- later incorrect setting for the value of StripByCounts/StripOffsets.
- ( https://trac.osgeo.org/gdal/ticket/6924 )
- <LI> libtiff/tif_dirread.c: TIFFFetchStripThing(): limit the number of items
- read in StripOffsets/StripByteCounts tags to the number of strips to avoid
- excessive memory allocation.
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2215
- Credit to OSS Fuzz
- <LI> libtiff/tif_getimage.c: avoid many (harmless) unsigned int overflows.
- <LI> libtiff/tif_fax3.c: avoid unsigned int overflow in Fax3Encode2DRow(). Could
- potentially be a bug with huge rows.
- <LI> libtiff/tif_jpeg.c: avoid (harmless) unsigned int overflow on tiled images.
- <LI> libtiff/tif_dirread.c: avoid unsigned int overflow in EstimateStripByteCounts()
- and BYTECOUNTLOOKSBAD when file is too short.
- <LI> libtiff/tif_predict.c: decorate legitimate functions where unsigned int
- overflow occur with TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
- * libtiff/tif_dirread.c: avoid unsigned int overflow in EstimateStripByteCounts()
- <LI> libtiff/tiffiop.h: add TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW macro to
- disable CLang warnings raised by -fsanitize=undefined,unsigned-integer-overflow
- <LI> libtiff/tif_jpeg.c: add anti-denial of service measure to avoid excessive
- CPU consumption on progressive JPEGs with a huge number of scans.
- See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf
- Note: only affects libtiff since 2014-12-29 where support of non-baseline JPEG
- was added.
-
- <LI> libtiff/tif_jpeg.c: error out at decoding time if anticipated libjpeg
- memory allocation is above 100 MB. libjpeg in case of multiple scans,
- which is allowed even in baseline JPEG, if components are spread over several
- scans and not interleavedin a single one, needs to allocate memory (or
- backing store) for the whole strip/tile.
- See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf
- This limitation may be overridden by setting the
- LIBTIFF_ALLOW_LARGE_LIBJPEG_MEM_ALLOC environment variable, or recompiling
- libtiff with a custom value of TIFF_LIBJPEG_LARGEST_MEM_ALLOC macro.
- <LI> libtiff/tif_jbig.c: fix memory leak in error code path of JBIGDecode()
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2706
- Reported by team OWL337
- <LI> libtiff/tif_dirread.c: in TIFFReadDirEntryFloat(), check that a
- double value can fit in a float before casting. Patch by Nicolas RUFF
- <LI> libtiff/tiffiop.h, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c,
- libtiff/tif_read.c: make TIFFReadScanline() works in
- CHUNKY_STRIP_READ_SUPPORT mode with JPEG stream with multiple scans.
- Also make configurable through a LIBTIFF_JPEG_MAX_ALLOWED_SCAN_NUMBER
- environment variable the maximum number of scans allowed. Defaults to
- 100.
- <LI> libtiff/tif_read.c: TIFFFillTile(): add limitation to the number
- of bytes read in case td_stripbytecount[strip] is bigger than
- reasonable, so as to avoid excessive memory allocation (similarly to
- what was done for TIFFFileStrip() on 2017-05-10)
- <LI> libtiff/tif_getimage.c: use _TIFFReadEncodedStripAndAllocBuffer().
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2708 and
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2433 .
- Credit to OSS Fuzz
- <LI> libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedStripAndAllocBuffer()
- function, variant of TIFFReadEncodedStrip() that allocates the
- decoded buffer only after a first successful TIFFFillStrip(). This avoids
- excessive memory allocation on corrupted files.
- <LI> libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedXXXX()
- functions associated with LONG8/SLONG8 data type, replace assertion that
- the file is BigTIFF, by a non-fatal error.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712
- Reported by team OWL337
- <LI> libtiff/tif_read.c: TIFFStartTile(): set tif_rawcc to
- tif_rawdataloaded when it is set. Similarly to TIFFStartStrip().
- This issue was revealed by the change of 2017-06-30 in TIFFFileTile(),
- limiting the number of bytes read. But it could probably have been hit
- too in CHUNKY_STRIP_READ_SUPPORT mode previously ?
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2454
- Credit to OSS Fuzz
- <LI> libtiff/tif_error.c, tif_warning.c: correctly use va_list when both
- an old-style and new-style warning/error handlers are installed.
- Patch by Paavo Helde (sent on the mailing list)
- <LI> libtiff/tif_getimage.c: use _TIFFReadTileAndAllocBuffer().
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2470
- Credit to OSS Fuzz.
- <LI> libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedTileAndAllocBuffer()
- and _TIFFReadTileAndAllocBuffer() variants of TIFFReadEncodedTile() and
- TIFFReadTile() that allocates the decoded buffer only after a first
- successful TIFFFillTile(). This avoids excessive memory allocation
- on corrupted files.
- <LI> libtiff/tif_pixarlog.c: avoid excessive memory allocation on decoding
- when RowsPerStrip tag is not defined (and thus td_rowsperstrip == UINT_MAX)
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2554
- Credit to OSS Fuzz
- <LI> libtiff/tif_lzw.c: fix 4.0.8 regression in the decoding of old-style LZW
- compressed files.
- <LI> libtiff/tif_lzw.c: fix potential out-of-buffer read on 1-byte LZW
- strips. Crashing issue only on memory mapped files, where the strip
- offset is the last byte of the file, and the file size is a multiple
- of one page size on the CPU architecture (typically 4096). Credit
- to myself :-)
- <LI> libtiff/tif_dir.c: avoid potential null pointer dereference in
- _TIFFVGetField() on corrupted TIFFTAG_NUMBEROFINKS tag instance.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2713
- <LI> tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw"
- mode on PlanarConfig=Contig input images.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715
- Reported by team OWL337
- <LI> libtiff/tif_read.c: TIFFFillStrip() / TIFFFillTile().
- Complementary fix for http://bugzilla.maptools.org/show_bug.cgi?id=2708
- in the isMapped() case, so as to avoid excessive memory allocation
- when we need a temporary buffer but the file is truncated.
- <LI> libtiff/tif_read.c: TIFFFillStrip() / TIFFFillTile().
- Complementary fix for http://bugzilla.maptools.org/show_bug.cgi?id=2708
- in the isMapped() case, so as to avoid excessive memory allocation
- when we need a temporary buffer but the file is truncated.
- <LI> libtiff/tif_read.c: in TIFFFetchStripThing(), only grow the
- arrays that hold StripOffsets/StripByteCounts, when they are smaller
- than the expected number of striles, up to 1 million striles, and
- error out beyond. Can be tweaked by setting the environment variable
- LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT.
- This partially goes against a change added on 2002-12-17 to accept
- those arrays of wrong sizes, but is needed to avoid denial of services.
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2350
- Credit to OSS Fuzz
- <LI> libtiff/tif_read.c: in TIFFFetchStripThing(), only grow the
- arrays that hold StripOffsets/StripByteCounts, when they are smaller
- than the expected number of striles, up to 1 million striles, and
- error out beyond. Can be tweaked by setting the environment variable
- LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT.
- This partially goes against a change added on 2002-12-17 to accept
- those arrays of wrong sizes, but is needed to avoid denial of services.
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2350
- Credit to OSS Fuzz
- <LI> libtiff/tif_read.c: add protection against excessive memory
- allocation attempts in TIFFReadDirEntryArray() on short files.
- Effective for mmap'ed case. And non-mmap'ed case, but restricted
- to 64bit builds.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2675
- <LI> libtiff/tif_read.c: add protection against excessive memory
- allocation attempts in TIFFReadDirEntryArray() on short files.
- Effective for mmap'ed case. And non-mmap'ed case, but restricted
- to 64bit builds.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2675
- <LI> libtiff/tif_luv.c: LogLuvInitState(): avoid excessive memory
- allocation when RowsPerStrip tag is missing.
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2683
- Credit to OSS-Fuzz
- <LI> libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate():
- properly break from loops on error when stoponerr is set, instead
- of going on iterating on row based loop.
- <LI> libtiff/tif_getimage.c: fix fromskew computation when to-be-skipped
- pixel number is not a multiple of the horizontal subsampling, and
- also in some other cases. Impact putcontig8bitYCbCr44tile,
- putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile,
- putcontig8bitYCbCr21tile and putcontig8bitYCbCr12tile
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2637 (discovered
- by Agostino Sarubbo)
- and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2691 (credit
- to OSS Fuzz)
- <LI> libtiff/tif_luv.c: further reduce memory requirements for temporary
- buffer when RowsPerStrip >= image_length in LogLuvInitState() and
- LogL16InitState().
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2700
- Credit to OSS Fuzz
- <LI> libtiff/tif_dirwrite.c: replace assertion related to not finding the
- SubIFD tag by runtime check (in TIFFWriteDirectorySec())
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2727
- Reported by team OWL337
- <LI> libtiff/tif_dirwrite.c: replace assertion to tag value not fitting
- on uint32 when selecting the value of SubIFD tag by runtime check
- (in TIFFWriteDirectoryTagSubifd()).
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2728
- Reported by team OWL337
- <LI> libtiff/tif_jpeg.c: accept reading the last strip of a JPEG compressed
- file if the codestream height is larger than the truncated height of the
- strip. Emit a warning in this situation since this is non compliant.
- <LI> libtiff/tiffiop.h, tif_aux.c: redirect SeekOK() macro to a _TIFFSeekoK()
- function that checks if the offset is not bigger than INT64_MAX, so as
- to avoid a -1 error return code of TIFFSeekFile() to match a required
- seek to UINT64_MAX/-1.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2726
- Adapted from proposal by Nicolas Ruff.
- <LI> libtiff/tif_dirread.c: add NULL check to avoid likely false positive
- null-pointer dereference warning by CLang Static Analyzer.
- <LI> libtiff/libtiff.def: add TIFFReadRGBAStripExt and TIFFReadRGBATileExt
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2735
- <LI> libtiff/tif_jpeg.c: add compatibility with libjpeg-turbo 1.5.2 that
- honours max_memory_to_use > 0.
- Cf https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162
- <LI> libtiff/tif_getimage.c: avoid floating point division by zero in
- initCIELabConversion()
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3733
- Credit to OSS Fuzz
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!-------------------------------------------------------------------------->
-
-<A NAME="tools"><B><FONT SIZE=+3>C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI> tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw"
- mode on PlanarConfig=Contig input images.
- Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715
- Reported by team OWL337
- <LI> tools/tiffset.c: fix setting a single value for the ExtraSamples tag
- (and other tags with variable number of values).
- So 'tiffset -s ExtraSamples 1 X'. This only worked
- when setting 2 or more values, but not just one.
- <LI> tools/fax2tiff.c (_FAX_Client_Data): Pass FAX_Client_Data as the
- client data. This client data is not used at all at the moment,
- but it makes the most sense. Issue that the value of
- client_data.fd was passed where a pointer is expected was reported
- via email by Gerald Schade on Sun, 29 Oct 2017.
- <LI> tools/tiff2pdf.c (t2p_sample_realize_palette): Fix possible
- arithmetic overflow in bounds checking code and eliminate
- comparison between signed and unsigned type.
- <LI> tools/tiff2bw.c (main): Free memory allocated in the tiff2bw
- program. This is in response to the report associated with
- CVE-2017-16232 but does not solve the extremely high memory usage
- with the associated POC file.
-
-</UL>
-
-<P><HR WIDTH=65% ALIGN=left>
-
-<!--------------------------------------------------------------------------->
-
-<A NAME="contrib"><B><FONT SIZE=+3>C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI> None
-
-</UL>
-
-Last updated $Date: 2017-11-18 19:38:06 $.
-
-</BODY>
-</HTML>
diff --git a/html/v4.1.0.html b/html/v4.1.0.html
deleted file mode 100644
index 4828bcc0..00000000
--- a/html/v4.1.0.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.1.0
-</TITLE>
-<STYLE TYPE="text/css">
-body {
- font-family: Helvetica, Arial, Sans;
-}
-table, th, td {
- border: 1px solid black;
- border-collapse: collapse;
-}
-th, td {
- padding: 8pt;
- text-align: center;
-}
-th {
- text-align: center;
-}
-td {
- text-align: center;
-}
-
-ul li {
- padding: 3pt;
-}
-
-ul.a {
- list-style-type: circle;
-}
-
-ul.b {
- list-style-type: square;
-}
-
-ol.c {
- list-style-type: upper-roman;
-}
-
-ol.d {
- list-style-type: lower-alpha;
-}
-
-hr {
- width: 65%;
-}
-
-</STYLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE="+3">T</FONT>IFF <FONT SIZE="+2">C</FONT>HANGE <FONT SIZE="+2">I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<div style="margin-left: 3em">
-<HR SIZE=4 ALIGN=left>
-<B>Current Version</B>: v4.1.0<BR>
-<B>Previous Version</B>: <A HREF=v4.0.10.html>v4.0.10</A><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff"</A>
-download.osgeo.org</a>, directory pub/libtiff<BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/"</A>
-http://www.simplesystems.org/libtiff/</a><BR>
-<B>Master HTTP Site #2</B>: <A HREF="http://libtiff.maptools.org/"</A>
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 ALIGN=left>
-</div>
-
-<P>
-This document describes the changes made to the software between the
-<I>previous</I> and <I>current</I> versions (see above). If you don't
-find something listed here, then it was not done in this timeframe, or
-it was not considered important enough to be mentioned. The following
-information is located here. A change summary is also provided by the
-ChangeLog file included in the release package and by the Git commit
-history:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="highlights"><B><FONT SIZE="+3">M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI>Make defer strile offset/bytecount loading available at runtime
- and add per-strile offset/bytecount loading capabilities. Part of
- this commit makes the behaviour that was previously met when libtiff
- was compiled with -DDEFER_STRILE_LOAD available for default builds
- when specifying the new 'D' (Deferred) TIFFOpen() flag. In that
- mode, the [Tile/Strip][ByteCounts/Offsets] arrays are only loaded
- when first accessed. This can speed-up the opening of files stored
- on the network when just metadata retrieval is needed.
-
- Another addition is the capability of loading only the values of
- the offset/bytecount of the strile of interest instead of the
- whole array. This is enabled with the new 'O' (Ondemand) flag of
- TIFFOpen() (which implies 'D').
-
- The public TIFFGetStrileOffset[WithErr]() and
- TIFFGetStrileByteCount[WithErr]() functions have been added to
- API. They are of particular interest when using sparse files (with
- offset == bytecount == 0) and you want to detect if a strile is
- present or not without decompressing the data, or updating an
- existing sparse file.
- </LI>
-
- <LI>The BigTIFF writer now optimizes file size by using 32-bit LONG
- values (rather than 64-bit) where it is reasonable and safe to do
- so. Likewise, the 16-bit SHORT type is used when possible for
- StripByteCounts/TileByteCounts.
- </LI>
-
-</UL>
-
-
-<P><HR ALIGN=left>
-<!-- ============================================================= -->
-
-<A NAME="configure"><B><FONT SIZE="+3">C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI>The WIN32 build now uses tif_win32.c when building with CMake.</LI>
-
- <LI>Properly set value of HOST_FILLORDER to LSB2MSB for Windows
- CMake builds. It was not being properly set!</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="libtiff"><B><FONT SIZE="+3">C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI>
- Changes in the libtiff library may be viewed on-line
- at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/libtiff">Libtiff
- Library Commits</A>.
- </LI>
-
- <LI>
- New function TIFFReadFromUserBuffer() which replaces the use of
- TIFFReadEncodedStrip()/TIFFReadEncodedTile() when the user can
- provide the buffer for the input data, for example when he wants
- to avoid libtiff to read the strile offset/count values from the
- [Strip|Tile][Offsets/ByteCounts] array.
- </LI>
-
- <LI>
- New functions TIFFDeferStrileArrayWriting() and TIFFForceStrileArrayWriting()
- Those advanced writing functions must be used in a particular sequence
- to make their intended effect. Their aim is to control when/where
- the [Strip/Tile][Offsets/ByteCounts] arrays are written into the file.
-
- The purpose of this is to generate 'cloud-optimized geotiff' files where
- the first KB of the file only contain the IFD entries without the potentially
- large strile arrays. Those are written afterwards.
- </LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="tools"><B><FONT SIZE="+3">C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI>Changes in the libtiff utilities may be viewed on-line
- at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/tools">Libtiff
- Tools Commits</A></LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="contrib"><B><FONT SIZE="+3">C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI>Changes in the libtiff contrib area may be viewed on-line
- at <A HREF="https://gitlab.com/libtiff/libtiff/commits/master/contrib">Libtiff
- Contrib Commits</A></LI>
-
-</UL>
-
-</BODY>
-</HTML>
diff --git a/html/v4.2.0.html b/html/v4.2.0.html
deleted file mode 100644
index 58d0bfc3..00000000
--- a/html/v4.2.0.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.2.0
-</TITLE>
-<STYLE TYPE="text/css">
-body {
- font-family: Helvetica, Arial, Sans;
-}
-table, th, td {
- border: 1px solid black;
- border-collapse: collapse;
-}
-th, td {
- padding: 8pt;
- text-align: center;
-}
-th {
- text-align: center;
-}
-td {
- text-align: center;
-}
-
-ul li {
- padding: 3pt;
-}
-
-ul.a {
- list-style-type: circle;
-}
-
-ul.b {
- list-style-type: square;
-}
-
-ol.c {
- list-style-type: upper-roman;
-}
-
-ol.d {
- list-style-type: lower-alpha;
-}
-
-hr {
- width: 65%;
-}
-
-</STYLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE="+3">T</FONT>IFF <FONT SIZE="+2">C</FONT>HANGE <FONT SIZE="+2">I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<div style="margin-left: 3em">
-<HR SIZE=4 ALIGN=left>
-<B>Current Version</B>: v4.2.0<BR>
-<B>Previous Version</B>: <A HREF="v4.1.0.html">v4.1.0</A><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff<BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
- http://www.simplesystems.org/libtiff/</A><BR>
-<B>Master HTTP Site #2</B>: <A HREF="https://libtiff.gitlab.io/libtiff/">
- https://libtiff.gitlab.io/libtiff/</A><BR>
-<B>Master HTTP Site #3</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 ALIGN=left>
-</div>
-
-<P>
-This document provides a summary of significant changes made to the
-software between the <I>previous</I> and <I>current</I> versions (see
-above). A fully-detailed change summary is provided by the ChangeLog file
-included in the release package and by the Git commit history:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="highlights"><B><FONT SIZE="+3">M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI>Optional support for using libdeflate is added.</LI>
-
- <LI>Many of the tools now support a memory usage limit.</LI>
-
-</UL>
-
-
-<P><HR ALIGN=left>
-<!-- ============================================================= -->
-
-<A NAME="configure"><B><FONT SIZE="+3">C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI>The Microsoft Windows 'nmake' build is resuscitated and provides
- a default HAVE_STRTOLL setting in 'nmake.opt' which is suitable for
- MSVC++ 14.0 ("Visual Studio 2015") and later but may be disabled in
- order to compile with earlier compiler versions.</LI>
-
- <LI>mingw-w64 cmake build fixes to not add libm</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="libtiff"><B><FONT SIZE="+3">C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI>A great many issues discovered by fuzzers (via oss-fuzz and other reports) have been addressed.</LI>
-
- <LI>EXIF 2.32 and GPS tags and functionality have been upgraded:
- <UL>
- <LI>Existing EXIF field definition of tags are upgraded to EXIF version 2.3.2</LI>
- <LI>EXIF-GPS structure, tags and access functions are added as special CustomDirectory (like it was done for EXIF).</LI>
- <LI>Reading error for FileSource and SceneType tags corrected.</LI>
- </UL>
-
- <LI>Make TIFFTAG_CFAPATTERN variable count.</LI>
-
- <LI>Cmake configuration fixes for big-endian targets.</LI>
-
- <LI><P>Added support for optional building against libdeflate for
- faster Zip/Deflate compression/decompression.</P>
-
- <P>We now have 2 kinds of builds with the Zip/Deflate codec:</P>
- <UL>
- <LI>zlib only</LI>
- <LI>zlib + libdeflate</LI>
- </UL>
-
- <P>Speed improvements in the 35%-50% range can be expected when libdeflate is used.
- Compression level up to 12 is now supported (capped to 9 when zlib is used).
- Still requires zlib for situations where libdeflate cannot be used (that
- is for scanline access, since libdeflate has no streaming mode)</P>
-
- <P>Pseudo-tag TIFFTAG_DEFLATE_SUBCODEC=DEFLATE_SUBCODEC_ZLIB/DEFLATE_SUBCODEC_LIBDEFLATE
- is added to control which subcodec (zlib or libdeflate) should be used (it defaults
- of course to libdeflate, when it is available).
- This is mostly aimed at being used on the writing side, to be able to reproduce
- output of previous libtiff versions at a binary level, in situations where this would
- be really needed. Or as a safety belt in case there would be unforeseen issues
- with using libdeflate.
- It can be used to know when libdeflate is available at runtime (DEFLATE_SUBCODEC_LIBDEFLATE
- will be the default value in that situation).</P>
- <P>Of course, deflate codestreams produced by libdeflate can be read by zlib, and vice-versa.</P>
-
- </LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="tools"><B><FONT SIZE="+3">C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI>A great many issues discovered by fuzzers (via oss-fuzz and other reports) have been addressed.</LI>
-
- <LI>ppm2tiff: support any bps value from 1 to 16.</LI>
-
- <LI>tiff2ps, tiff2rgba: A default memory limit is now enforced (256MiB) and a '-M' option is added to allow the user to adjust the limit.</LI>
-
- <LI>tiff2pdf, tiffcp: A default memory limit is now enforced (256MiB) and a '-m' option is added to allow the user to adjust the limit.</LI>
-
- <LI>tiffcrop: A default memory limit is now enforced (256MiB) and a '-k' option is added to allow the user to adjust the limit.</LI>
-
- <LI>tiff2pdf: fix "raw" copy of Deflate streams.</LI>
-
- <LI>tiff2pdf.c: properly calculate datasize when saving to JPEG YCbCr</LI>
-
- <LI>tiffcp: disable strip chopping when trying to convert to JBIG compression</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="contrib"><B><FONT SIZE="+3">C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI>None</LI>
-
-</UL>
-
-</BODY>
-</HTML>
diff --git a/html/v4.3.0.html b/html/v4.3.0.html
deleted file mode 100644
index 64f9fa7f..00000000
--- a/html/v4.3.0.html
+++ /dev/null
@@ -1,186 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.3.0
-</TITLE>
-<STYLE TYPE="text/css">
-body {
- font-family: Helvetica, Arial, Sans;
-}
-table, th, td {
- border: 1px solid black;
- border-collapse: collapse;
-}
-th, td {
- padding: 8pt;
- text-align: center;
-}
-th {
- text-align: center;
-}
-td {
- text-align: center;
-}
-
-ul li {
- padding: 3pt;
-}
-
-ul.a {
- list-style-type: circle;
-}
-
-ul.b {
- list-style-type: square;
-}
-
-ol.c {
- list-style-type: upper-roman;
-}
-
-ol.d {
- list-style-type: lower-alpha;
-}
-
-hr {
- width: 65%;
-}
-
-</STYLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE="+3">T</FONT>IFF <FONT SIZE="+2">C</FONT>HANGE <FONT SIZE="+2">I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<div style="margin-left: 3em">
-<HR SIZE=4 ALIGN=left>
-<B>Current Version</B>: v4.3.0<BR>
-<B>Previous Version</B>: <A HREF="v4.2.0.html">v4.2.0</A><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff<BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
- http://www.simplesystems.org/libtiff/</A><BR>
-<B>Master HTTP Site #2</B>: <A HREF="https://libtiff.gitlab.io/libtiff/">
- https://libtiff.gitlab.io/libtiff/</A><BR>
-<B>Master HTTP Site #3</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 ALIGN=left>
-</div>
-
-<P>
-This document provides a summary of significant changes made to the
-software between the <I>previous</I> and <I>current</I> versions (see
-above). A fully-detailed change summary is provided by the ChangeLog file
-included in the release package and by the Git commit history:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="highlights"><B><FONT SIZE="+3">M</FONT>AJOR CHANGES:</B></A>
-
-<UL>
-
- <LI>Build and usage of the library and its utilities requires a C99 capable
- compiler.</LI>
-
- <LI>New optional codec for the LERC (Limited Error Raster Compression) compression scheme.
- To have it available, configure libtiff against the SDK available at
- https://github.com/esri/lerc</LI>
-
- <LI>CMake build: revamp of build scripts</LI>
-</UL>
-
-
-<P><HR ALIGN=left>
-<!-- ============================================================= -->
-
-<A NAME="configure"><B><FONT SIZE="+3">C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI>cmake: revamp of the cmake build scripts. There are impacts on the case of
- some options.</LI>
-
- <LI>cmake: update minimum version and policy version to 3.9.</LI>
-
- <LI>Remove NMake build support. The functionality provided by the NMake build
- is now completely superseded by the CMake build.</LI>
-
- <LI>Remove antiquated Scons and makefile.lcc build support.</LI>
-
- <LI>Remove non-functional VMS and WinCE support.</LI>
-
- <LI>autogen.sh now updates config.guess and config.sub from master gnulib version.</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="libtiff"><B><FONT SIZE="+3">C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<UL>
-
- <LI>Use of "int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64"
- typedefs is now deprecated. libtiff code and headers no longer use them,
- and use their C99 standard equivalents (with "_t" suffix). Those typedefs
- are still available, with deprecation warnings, but external code is strongly
- encouraged to use the corresponding C99 stdint.h types. The deprecated
- types might be removed in a future release.</LI>
-
- <LI>Removal of unused, or now useless due to C99 availability, functions in port/</LI>
-
- <LI>A few issues spotted by static code analysis tools fixed. Compiler
- warnings addressed.</LI>
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="tools"><B><FONT SIZE="+3">C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<UL>
-
- <LI>In usage text, insert a line of text summarizing each tool's purpose </LI>
-
- <LI>tiff tools: made display of compression methods and their parameters
- conditional on their actual availability</LI>
-
- <LI>tiff2ps: exit the loop in case of error (#232)</LI>
-
- <LI>tiff2pdf: check that tiff_datasize fits in a signed tsize_t (#202)</LI>
-
- <LI>tiffsplit: exit with EXIT_FAILURE if there are extra args on the command line</LI>
-
- <LI>tiffcmp: fix comparaison with pixels that are fractional number of bytes (#53)</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="contrib"><B><FONT SIZE="+3">C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<UL>
-
- <LI>iptcutil.c - set '#ifdef _WIN32' (was '#ifdef WIN32', which failed at build time)</LI>
-
-</UL>
-
-</BODY>
-</HTML>
diff --git a/html/v4.4.0.html b/html/v4.4.0.html
deleted file mode 100644
index 97b6a042..00000000
--- a/html/v4.4.0.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>
- Changes in TIFF v4.4.0
-</TITLE>
-<STYLE TYPE="text/css">
-body {
- font-family: Helvetica, Arial, Sans;
-}
-table, th, td {
- border: 1px solid black;
- border-collapse: collapse;
-}
-th, td {
- padding: 8pt;
- text-align: center;
-}
-th {
- text-align: center;
-}
-td {
- text-align: center;
-}
-
-ul li {
- padding: 3pt;
-}
-
-ul.a {
- list-style-type: circle;
-}
-
-ul.b {
- list-style-type: square;
-}
-
-ol.c {
- list-style-type: upper-roman;
-}
-
-ol.d {
- list-style-type: lower-alpha;
-}
-
-hr {
- width: 65%;
-}
-
-</STYLE>
-</HEAD>
-
-<BODY BGCOLOR=white>
-
-<BASEFONT SIZE=4>
-<B><FONT SIZE="+3">T</FONT>IFF <FONT SIZE="+2">C</FONT>HANGE <FONT SIZE="+2">I</FONT>NFORMATION</B>
-<BASEFONT SIZE=3>
-
-<div style="margin-left: 3em">
-<HR SIZE=4 ALIGN=left>
-<B>Current Version</B>: v4.4.0<BR>
-<B>Previous Version</B>: <A HREF="v4.3.0.html">v4.3.0</A><BR>
-<B>Master Download Site</B>: <A HREF="https://download.osgeo.org/libtiff">
-download.osgeo.org</a>, directory pub/libtiff<BR>
-<B>Master HTTP Site #1</B>: <A HREF="http://www.simplesystems.org/libtiff/">
- http://www.simplesystems.org/libtiff/</A><BR>
-<B>Master HTTP Site #2</B>: <A HREF="https://libtiff.gitlab.io/libtiff/">
- https://libtiff.gitlab.io/libtiff/</A><BR>
-<B>Master HTTP Site #3</B>: <A HREF="http://libtiff.maptools.org/">
-http://libtiff.maptools.org/</a>
-<HR SIZE=4 ALIGN=left>
-</div>
-
-<P>
-This document provides a summary of significant changes made to the
-software between the <I>previous</I> and <I>current</I> versions (see
-above). A fully-detailed change summary is provided by the ChangeLog file
-included in the release package and by the Git commit history:
-<UL>
-<LI><A HREF="#highlights">Major Changes</A>
-<LI><A HREF="#configure">Changes in the software configuration</A>
-<LI><A HREF="#libtiff">Changes in libtiff</A>
-<LI><A HREF="#tools">Changes in the tools</A>
-<LI><A HREF="#contrib">Changes in the contrib area</A>
-</UL>
-<p>
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="highlights"><B><FONT SIZE="+3">M</FONT>AJOR CHANGES:</B></A>
-
-<P>
-None
-</P>
-
-<P><HR ALIGN=left>
-<!-- ============================================================= -->
-
-<A NAME="configure"><B><FONT SIZE="+3">C</FONT>HANGES IN THE SOFTWARE CONFIGURATION:</B></A>
-
-<UL>
-
- <LI>Handle absolute paths in pkg-config file (#333)</LI>
- <LI>Correct fix for the pkgconf file relative paths.</LI>
- <LI>cmake: allow running the tests with a read-only source directory.</LI>
- <LI>cmake: Fix STRIPCHOP_DEFAULT value in CMake builds.</LI>
- <LI>build: Fix static library imports in mingw related to LERC</LI>
- <LI>Fix version in libtiff-4.pc.in, and CMake build: Add requirements to pc file</LI>
- <LI>cmake: Fix build with CMake 3.10.</LI>
- <LI>cmake: Export tiff targets.</LI>
- <LI>Make LERC_SUPPORT conditional on ZLIB_SUPPORT</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="libtiff"><B><FONT SIZE="+3">C</FONT>HANGES IN LIBTIFF:</B></A>
-
-<P>
-New/improved functionalities:
-</P>
-<UL>
-
- <LI>TIFFIsBigTiff() function added.</LI>
- <LI>Functions TIFFFieldSetGetSize() and TIFFieldSetGetCountSize() added.</LI>
- <LI>LZWDecode(): major speed improvements (~30% faster)</LI>
- <LI>Predictor 2 (horizontal differenciation): support 64-bit</LI>
- <LI>Support libjpeg 9d</LI>
-</UL>
-
-<P>
-Bug fixes:
-</P>
-<UL>
- <LI>Remove incorrect assert (#329)</LI>
- <LI>avoid hang in TIFFRewriteDirectory() if a classic file > 4 GB is attempted to be created</LI>
- <LI>tif_jbig.c: fix crash when reading a file with multiple IFD in memory-mapped mode and when bit reversal is needed (fixes #385)</LI>
- <LI>TIFFFetchNormalTag(): avoid calling memcpy() with a null source pointer and size of zero (fixes #383)</LI>
- <LI>TIFFWriteDirectoryTagData(): turn assertion on data length into a runtime check</LI>
- <LI>TIFFFetchStripThing(): avoid calling memcpy() with a null source pointer and size of zero (fixes #362)</LI>
- <LI>TIFFReadDirectory(): avoid calling memcpy() with a null source pointer and size of zero (fixes #362)</LI>
- <LI>TIFFYCbCrToRGBInit(): avoid Integer-overflow</LI>
- <LI>TIFFGetField(TIFFTAG_STRIPBYTECOUNTS/TIFFTAG_STRIPOFFSETS): return error if returned pointer is NULL (fixes #342)</LI>
- <LI>OJPEG: avoid assertion when using TIFFReadScanline() (fixes #337)</LI>
- <LI>TIFFReadDirectory: fix OJPEG hack (fixes #319)</LI>
- <LI>LZW codec: fix support for strips/tiles > 2 GB on Windows</LI>
- <LI>TIFFAppendToStrip(): fix rewrite-in-place logic (fixes #309)</LI>
- <LI>Fix TIFFRewriteDirectory discarding directories.</LI>
- <LI>TIFFReadCustomDirectory(): avoid crash when reading SubjectDistance tag on a non EXIF directory (#316)</LI>
- <LI>Fix Segmentation fault printing GPS directory if Altitude tag is present</LI>
- <LI>tif_jpeg.c: do not emit progressive scans with mozjpeg. (#266)</LI>
- <LI>_TIFFRewriteField(): fix when writing a IFD with a single tile that is a sparse one, on big endian hosts</LI>
- <LI>Fix all remaining uses of legacy Deflate compression id and warn on use.</LI>
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="tools"><B><FONT SIZE="+3">C</FONT>HANGES IN THE TOOLS:</B></A>
-
-<P>
-Bug fixes:
-</P>
-<UL>
- <LI>tiffcrop: Fix issue #330 and some more from 320 to 349.</LI>
- <LI>tiffcrop: fix issue #395: generation of strange section images.</LI>
- <LI>tiffcrop: fix issue #380 and #382 heap buffer overflow in extractImageSection</LI>
- <LI>tiffcrop: fix FPE (#393)</LI>
- <LI>tiffcrop: buffsize check formula in loadImage() amended (fixes #273,#275)</LI>
- <LI>tiffcrop.c: Fix issue #352 heap-buffer-overflow by correcting uint32_t underflow.</LI>
- <LI>tiff2pdf: handle 8-bit palette colormap.</LI>
- <LI>tiffcp: avoid buffer overflow in "mode" string (fixes #400)</LI>
- <LI>tiffcp: Fix incomprehensible setting of orientation tag (fixes #29)</LI>
- <LI>tiffcp: do not try to fetch compressor-specific tags when not appropriate (fixes #396)</LI>
- <LI>tiffcp: fix heap buffer overflow (#278)</LI>
- <LI>tiff2ps: In limitMalloc() check for negative size (fixes #284)</LI>
- <LI>tiffinfo: add a -M switch to define the maximum heap allocation, and default it to 256 MiB (fixes #287, #290)</LI>
- <LI>tiffinfo: limit more memory allocations using -M switch (fixes #288)</LI>
- <LI>tiffset: fix global-buffer-overflow for ASCII tags where count is required (fixes #355)</LI>
- <LI>raw2tiff: check that band number if not zero to avoid floating point exception(fixes #338)</LI>
- <LI>tiffinfo/tiffdump: improve output for GDAL tags.</LI>
-
-</UL>
-
-<P><HR ALIGN=left>
-
-<!-- ============================================================= -->
-
-<A NAME="contrib"><B><FONT SIZE="+3">C</FONT>HANGES IN THE CONTRIB AREA:</B></A>
-
-<P>
-None
-</P>
-
-</BODY>
-</HTML>