add files

This commit is contained in:
NishiOwO 2025-04-07 02:09:50 +09:00
parent dff9dcef92
commit 7913639297
No known key found for this signature in database
GPG Key ID: 27EF69B208EB9343
6 changed files with 1298 additions and 0 deletions

110
src/png/LICENSE Normal file
View File

@ -0,0 +1,110 @@
This copy of the libpng notices is provided for your convenience. In case of
any discrepancy between this copy and the notices in the file png.h that is
included in the libpng distribution, the latter shall prevail.
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
This code is released under the libpng license.
libpng versions 1.0.7, July 1, 2000, through 1.0.69, September 28, 2017, are
Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals
added to the list of Contributing Authors:
Simon-Pierre Cadieux
Eric S. Raymond
Cosmin Truta
Gilles Vollant
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of the
library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes
or needs. This library is provided with all faults, and the entire
risk of satisfactory quality, performance, accuracy, and effort is with
the user.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
libpng-0.96, and are distributed according to the same disclaimer and
license as libpng-0.96, with the following individuals added to the list
of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
and are distributed according to the same disclaimer and license as
libpng-0.88, with the following individuals added to the list of
Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors"
is defined as the following set of individuals:
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
The PNG Reference Library is supplied "AS IS". The Contributing Authors
and Group 42, Inc. disclaim all warranties, expressed or implied,
including, without limitation, the warranties of merchantability and of
fitness for any purpose. The Contributing Authors and Group 42, Inc.
assume no liability for direct, indirect, incidental, special, exemplary,
or consequential damages, which may result from the use of the PNG
Reference Library, even if advised of the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute this
source code, or portions hereof, for any purpose, without fee, subject
to the following restrictions:
1. The origin of this source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, without
fee, and encourage the use of this source code as a component to
supporting the PNG file format in commercial products. If you use this
source code in a product, acknowledgment is not required but would be
appreciated.
END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
A "png_get_copyright" function is available, for convenient use in "about"
boxes and the like:
printf("%s", png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
a certification mark of the Open Source Initiative. OSI has not addressed
the additional disclaimers inserted at version 1.0.7.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
September 28, 2017

283
src/png/README Normal file
View File

@ -0,0 +1,283 @@
README for libpng version 1.0.69 - September 28, 2017 (shared library 10.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
Libpng comes in several distribution formats. Get libpng-*.tar.gz or
libpng-*.tar.xz if you want UNIX-style line
endings in the text files, or lpng*.7z or lpng*.zip if you want DOS-style
line endings. You can get UNIX-style line endings from the *.zip file
by using "unzip -a" but there seems to be no simple way to recover
UNIX-style line endings from the *.7z file. The *.tar.xz file is
recommended for *NIX users instead.
Version 0.89 was the first official release of libpng. Don't let the
fact that it's the first release fool you. The libpng library has been in
extensive use and testing since mid-1995. By late 1997 it had
finally gotten to the stage where there hadn't been significant
changes to the API in some time, and people have a bad feeling about
libraries with versions < 1.0. Version 1.0.0 was released in
March 1998.
****
Note that some of the changes to the png_info structure render this
version of the library binary incompatible with libpng-0.89 or
earlier versions if you are using a shared library. The type of the
"filler" parameter for png_set_filler() has changed from png_byte to
png_uint_32, which will affect shared-library applications that use
this function.
To avoid problems with changes to the internals of png_info_struct,
new APIs have been made available in 0.95 to avoid direct application
access to info_ptr. These functions are the png_set_<chunk> and
png_get_<chunk> functions. These functions should be used when
accessing/storing the info_struct data, rather than manipulating it
directly, to avoid such problems in the future.
It is important to note that the APIs do not make current programs
that access the info struct directly incompatible with the new
library. However, it is strongly suggested that new programs use
the new APIs (as shown in example.c and pngtest.c), and older programs
be converted to the new format, to facilitate upgrades in the future.
****
Additions since 0.90 include the ability to compile libpng as a
Windows DLL, and new APIs for accessing data in the info struct.
Experimental functions include the ability to set weighting and cost
factors for row filter selection, direct reads of integers from buffers
on big-endian processors that support misaligned data access, faster
methods of doing alpha composition, and more accurate 16->8 bit color
conversion.
The additions since 0.89 include the ability to read from a PNG stream
which has had some (or all) of the signature bytes read by the calling
application. This also allows the reading of embedded PNG streams that
do not have the PNG file signature. As well, it is now possible to set
the library action on the detection of chunk CRC errors. It is possible
to set different actions based on whether the CRC error occurred in a
critical or an ancillary chunk.
The changes made to the library, and bugs fixed are based on discussions
on the png-mng-implement mailing list and not on material submitted
privately to Guy, Andreas, or Glenn. They will forward any good
suggestions to the list.
For a detailed description on using libpng, read libpng.txt. For
examples of libpng in a program, see example.c and pngtest.c. For usage
information and restrictions (what little they are) on libpng, see
png.h. For a description on using zlib (the compression library used by
libpng) and zlib's restrictions, see zlib.h
I have included a general makefile, as well as several machine and
compiler specific ones, but you may have to modify one for your own needs.
You should use zlib 1.0.4 or later to run this, but it MAY work with
versions as old as zlib 0.95. Even so, there are bugs in older zlib
versions which can cause the output of invalid compression streams for
some images. You will definitely need zlib 1.0.4 or later if you are
taking advantage of the MS-DOS "far" structure allocation for the small
and medium memory models. You should also note that zlib is a
compression library that is useful for more things than just PNG files.
You can use zlib as a drop-in replacement for fread() and fwrite() if
you are so inclined.
zlib should be available at the same place that libpng is, or at
ftp://ftp.simplesystems.org/pub/png/src/
You may also want a copy of the PNG specification. It is available
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
these at http://www.libpng.org/pub/png/pngdocs.html
This code is currently being archived at libpng.sf.net in the
[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
at GO GRAPHSUP. If you can't find it in any of those places,
e-mail me, and I'll help you find it.
I am not a lawyer, but I believe that the Export Control Classification
Number (ECCN) for libpng is EAR99, which means not subject to export
controls or International Traffic in Arms Regulations (ITAR) because it
is open source, publicly available software, that does not contain any
encryption software. See the EAR, paragraphs 734.3(b)(3) and 734.7(b).
If you have any code changes, requests, problems, etc., please e-mail
them to me. Also, I'd appreciate any make files or project files,
and any modifications you needed to make to get libpng to compile,
along with a #define variable to tell what compiler/system you are on.
If you needed to add transformations to libpng, or wish libpng would
provide the image in a different way, drop me a note (and code, if
possible), so I can consider supporting the transformation.
Finally, if you get any warning messages when compiling libpng
(note: not zlib), and they are easy to fix, I'd appreciate the
fix. Please mention "libpng" somewhere in the subject line. Thanks.
This release was created and will be supported by myself (of course
based in a large way on Guy's and Andreas' earlier work), and the PNG
development group.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net
You can't reach Guy, the original libpng author, at the addresses
given in previous versions of this document. He and Andreas will
read mail addressed to the png-mng-implement list, however.
Please do not send general questions about PNG. Send them to
the (png-mng-misc at lists.sourceforge.net, subscription required, visit
https://lists.sourceforge.net/lists/listinfo/png-mng-misc to
subscribe). On the other hand, please do not send libpng questions to
that address, send them to me or to the png-mng-implement list. I'll
get them in the end anyway. If you have a question about something
in the PNG specification that is related to using libpng, send it
to me. Send me any questions that start with "I was using libpng,
and ...". If in doubt, send questions to me. I'll bounce them
to others, if necessary.
Please do not send suggestions on how to change PNG. We have
been discussing PNG for twenty years now, and it is official and
finished. If you have suggestions for libpng, however, I'll
gladly listen. Even if your suggestion is not used immediately,
it may be used later.
Files in this distribution:
ANNOUNCE => Announcement of this version, with recent changes
CHANGES => Description of changes between libpng versions
KNOWNBUG => List of known bugs and deficiencies
LICENSE => License to use and redistribute libpng
README => This file
TODO => Things not implemented in the current library
Y2KINFO => Statement of Y2K compliance
example.c => Example code for using libpng functions
libpng-*-*-diff.txt => Diff from previous release
libpng.3 => manual page for libpng (includes libpng.txt)
libpng.txt => Description of libpng and its functions
libpngpf.3 => manual page for libpng's private functions
png.5 => manual page for the PNG format
png.c => Basic interface functions common to library
png.h => Library function and interface declarations
pngconf.h => System specific library configuration
pngerror.c => Error/warning message I/O functions
pngget.c => Functions for retrieving info from struct
pngmem.c => Memory handling functions
pngbar.png => PNG logo, 88x31
pngnow.png => PNG logo, 98x31
pngpread.c => Progressive reading functions
pngread.c => Read data/helper high-level functions
pngrio.c => Lowest-level data read I/O functions
pngrtran.c => Read data transformation functions
pngrutil.c => Read data utility functions
pngset.c => Functions for storing data into the info_struct
pngtest.c => Library test program
pngtest.png => Library test sample image
pngtrans.c => Common data transformation functions
pngwio.c => Lowest-level write I/O functions
pngwrite.c => High-level write functions
pngwtran.c => Write data transformations
pngwutil.c => Write utility functions
contrib => Contributions
gregbook => source code for PNG reading and writing, from
Greg Roelofs' "PNG: The Definitive Guide",
O'Reilly, 1999
pngminim => Minimal pnm2pngm and png2pnmm programs
pngminus => Simple pnm2png and png2pnm programs
pngsuite => Test images
visupng => Contains a MSVC workspace for VisualPng
projects => Contains project files and workspaces for
building a DLL
beos => Contains a Beos workspace for building libpng
c5builder => Contains a Borland workspace for building
libpng and zlib
MacOSX => Contains a MacOSX workspace for building libpng
netware.txt => Contains instructions for downloading a set
of project files for building libpng and
zlib on Netware.
visualc6 => Contains a Microsoft Visual C++ (MSVC)
workspace for building libpng and zlib
visualc71 => Contains a Microsoft Visual C++ (MSVC)
workspace for building libpng and zlib
wince.txt => Contains instructions for downloading a
Microsoft Visual C++ (Windows CD Toolkit)
workspace for building libpng and zlib on
WindowsCE
xcode => Contains xcode project files
scripts => Directory containing scripts for building libpng:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static
libpng.a)
makefile.elf => Linux/ELF gcc makefile symbol versioning,
creates libpng10.so.0.1.0.69)
makefile.linux => Linux/ELF makefile (gcc, creates
libpng10.so.0.1.0.69)
makefile.gcmmx => Linux/ELF makefile (gcc, creates
libpng10.so.0.1.0.69, previously
used assembler code tuned for Intel MMX
platform)
makefile.gcc => Generic makefile (gcc, creates static
libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files
with ansi2knr (Requires ansi2knr.c from
ftp://ftp.cs.wisc.edu/ghost)
makefile.aix => AIX makefile
makefile.cygwin => Cygwin/gcc makefile
makefile.darwin => Darwin makefile
makefile.dec => DEC Alpha UNIX makefile
makefile.freebsd => FreeBSD makefile
makefile.hpgcc => HPUX makefile using gcc
makefile.hpux => HPUX (10.20 and 11.00) makefile
makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64 bit
makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2
(static)
makefile.intel => Intel C/C++ version 4.0 and later
libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
makefile.netbsd => NetBSD/cc makefile, makes libpng.so.
makefile.ne10bsd => NetBSD/cc makefile, makes libpng10.so
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics
(gcc, creates libpng10.so.0.1.0.69)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng10.so.0.1.0.69)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng10.so.0.1.0.69)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
makefile.amiga => Amiga makefile
smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC
compiler (Requires SCOPTIONS, copied from
scripts/SCOPTIONS.ppc)
makefile.atari => Atari makefile
makefile.beos => BEOS makefile for X86
makefile.bor => Borland makefile (uses bcc)
makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
makefile.tc3 => Turbo C 3.0 makefile
makefile.dj2 => DJGPP 2 makefile
makefile.msc => Microsoft C makefile
makefile.vcawin32=> makefile for Microsoft Visual C++ 5.0 and
later (previously used assembler code tuned
for Intel MMX platform)
makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and
later (does not use assembler code)
makefile.os2 => OS/2 Makefile (gcc and emx, requires pngos2.def)
pngos2.def => OS/2 module definition file used by makefile.os2
makefile.watcom => Watcom 10a+ Makefile, 32-bit flat memory model
makevms.com => VMS build script
SCOPTIONS.ppc => Used with smakefile.ppc
Good luck, and happy coding.
-Glenn Randers-Pehrson (current maintainer, since 1998)
Internet: glennrp at users.sourceforge.net
-Andreas Eric Dilger (former maintainer, 1996-1997)
Internet: adilger at enel.ucalgary.ca
Web: http://members.shaw.ca/adilger/
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
(formerly of Group 42, Inc)
Internet: gschal at infinet.com

606
src/tiff/README Normal file
View File

@ -0,0 +1,606 @@
NOTE: This directory contains only the 'libtiff' portions of Sam's TIFF
distribution, as that's all that XV requires. The full TIFF distribution
(including tools, documentation, etc.) may be had via anonymous ftp on
sgi.com, in the directory graphics/tiff.
--jhb, 10/31/94
$Header: /usr/people/sam/tiff/RCS/README,v 1.22 1994/07/27 01:37:50 sam Exp $
TIFF Software Release
---------------------
Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
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.
About This Software
-------------------
This is software provides support for the Tag Image Format (TIFF).
Included is a library, libtiff, for reading and writing TIFF, a
collection of tools for doing simple manipulations of TIFF images, and
documentation on the library and tools. A random assortment of
TIFF-related software contributed by others is also included.
The library, along with associated tool programs, should handle most of
your needs for reading and writing files that 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.
How to tell which version you have
----------------------------------
The software version can be found by looking at the file named VERSION
that is located at the top of the source tree; the precise alpha number
is given in the file 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 tiff.alpha".
TIFF Support
------------
The library, should handle most of your needs for reading and writing
files that 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.
o core requirements
both "MM" and "II" byte orders are handled
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: NewSubfileType, ImageWidth, ImageLength, Rowsperstrip,
StripOffsets, StripByteCounts, XResolution, YResolution,
ResolutionUnit.
o 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)
o Class G for grayscale images
SamplesPerPixel = 1
BitsPerSample = 4, 8
Compression = 1 (none) 5 (LZW)
PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
o Class P for palette color images
SamplesPerPixel = 1
BitsPerSample = 1-8
Compression = 1 (none) 5 (LZW)
PhotometricInterpretation = 3 (Palette RGB)
ColorMap
o Class R for RGB full color images
SamplesPerPixel = 3
BitsPerSample = <8,8,8>
PlanarConfiguration = 1, 2
Compression = 1 (none) 5 (LZW)
PhotometricInterpretation = 2 (RGB)
o Class F for facsimile (proposed appendix to 5.0 spec)
(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
o Class S for separated images (in 6.0)
SamplesPerPixel = 4
PlanarConfiguration = 1, 2
Compression = 1 (none), 5 (LZW)
PhotometricInterpretation = 5 (Separated)
InkSet = 1 (CMYK)
DotRange, InkNames, DotRange, TargetPrinter
o Class Y for JPEG images (in 6.0)
SamplesPerPixel = 3
BitsPerSample = <8,8,8>
PlanarConfiguration = 1, 2
Compression = 1 (none), 5 (LZW), 6 (JPEG)
PhotometricInterpretation = 6 (YCbCr)
YCbCrCoefficients, YCbCrSubsampling, YCbCrPositioning
(colorimetry info from Appendix H; see below)
o Class "JPEG" for JPEG images (in 6.0)
PhotometricInterpretation = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)
(Class Y tags if YCbCr)
(Class S tags if CMYK)
Compression = 6 (JPEG)
JPEGProc = 0 (baseline)
JPEGQTables = ... (offsets to per-channel Q matrices)
JPEGDCTables = .... (offsets to per-channel DC tables)
JPEGACTables = .... (offsets to per-channel AC tables)
JPEGRestartInterval
o Tiled Images (in 6.0)
TileWidth
TileLength
TileOffsets
TileByteCounts
o Image Colorimetry Information (in 6.0)
WhitePoint
PrimaryChromaticities
TransferFunction
ReferenceBlackWhite
In addition, the library supports some optional compression algorithms
that are, in some cases, of dubious value.
Compression = 32766 NeXT 2-bit encoding
Compression = 32809 ThunderScan 4-bit encoding
[JPEG compression should fit into this library simply by replacing
the existing stub JPEG compression module. That is, all YCbCr and
JPEG-related tags are supported in this version of the library.]
The following tags are recognized and handled by the library (as
described in the table). If no use is indicated, then the library
reads and writes the tag, but does not use it internally.
Tag Name Value R/W Library's Use
-----------------------------------------------------
NewSubFileType 254 R/W (called SubFileType)
SubFileType 255 R/W (called OSubFileType)
ImageWidth 256 R/W lots
ImageLength 257 R/W lots
BitsPerSample 258 R/W lots
Compression 259 R/W choosing compression routines
PhotometricInterpretation 262 R/W Group 3 and JPEG code
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 encoding
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 code
Group4Options 293 R/W
ResolutionUnit 296 R/W
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 code
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
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
JPEGProc 512 R/W JPEG code
JPEGQRestartInterval 515 R/W JPEG code
JPEGQTables 519 R/W JPEG code
JPEGDCTables 520 R/W JPEG code
JPEGACTables 521 R/W JPEG code
YCbCrCoefficients 529 R/W used by TIFFReadRGBAImage
YCbCrSubsampling 530 R/W tile/strip size calculations
YCbCrPositioning 531 R/W
ReferenceBlackWhite 532 R/W
Matteing 32995 R (obsoleted by ExtraSamples)
DataType 32996 R (obsoleted by SampleFormat)
ImageDepth 32997 R/W tile/strip calculations
TileDepth 32998 R/W tile/strip calculations
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 JPEG, Colorimetry, and CMYK tags are additions that appear in TIFF
6.0. Consult the TIFF 6.0 specification included in the doc directory.
The TIFF Library
----------------
libtiff is the software library that you can use to read and write TIFF
files (most all the tools use it to do their work). The library
provides two interfaces, one for strip-based images and one for
tile-based images. The normal interface is through a simple
scanline-based interface that works with images organized as strips.
For example, to read the contents of a file, the following might be used:
#include "tiffio.h"
TIFF *tif;
unsigned long imagelength;
char *buf;
long row;
tif = TIFFOpen("myfile.tif", "r");
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
buf = malloc(TIFFScanlineSize(tif));
for (row = 0; row < imagelength; row++)
TIFFReadScanline(tif, buf, row);
(this example assumes samples are packed contiguously.) Similarly, to
write a file, something like the following can be used:
tif = TIFFOpen("myfile.tif", "w");
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, imagewidth);
TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_LZW);
... <set other required tags>
row = 0;
while (...more scanlines to write...)
TIFFWriteScanline(tif, buf, row);
TIFFClose(tif);
(once again, we assume samples are packed contiguously.)
A 2D tile-based interface is also provided as an alternative to the
scanline-orientated interfaces. With this interface, an image is
broken up into a set of rectangular areas called tiles. 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.
The interface for tiles is similar to scanlines. To read a tiled image,
code of the following sort might be used:
unsigned long imageWidth, imageLength;
unsigned long tileWidth, tileLength;
unsigned long x, y;
char *buf;
tif = TIFFOpen("myfile.tif", "r");
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
buf = malloc(TIFFTileSize(tif));
for (y = 0; y < imageLength; y += tileLength)
for (x = 0; x < imageWidth; x += tileWidth)
TIFFReadTile(tif, buf, x, y, 0);
(once again, we assume samples are packed contiguously.)
Note that unlike the stdio library, libtiff only supports reading OR
writing of a file. There is also an append mode, but this has not
really been tested.
TIFF Tools
----------
There are two device-dependent programs:
o tiffgt is used to display the contents of a TIFF file on a
framebuffer. The version included in this release was written
for the Silicon Graphics Graphics Library (GL), although it
should be a simple matter to tailor it for other systems.
o tiffsv is used to save all or part of a framebuffer in a
TIFF file. Once again, the version of tiffsv included here
was written for the GL, but should be tailorable to other devices.
(Note, tiffsv uses the readdisplay routine that was introduced
in IRIX 4.0.)
The remaining programs should be device-independent:
o tiffinfo formats information about one or more TIFF files
o tiffdump displays 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).
o tiffcp is used to copy, concatenate, and convert TIFF images (e.g.
switching from Compression=5 to Compression=1).
o tiff2ps is a program that converts a TIFF image to PostScript.
o tiffcmp can be used to compare the contents of two TIFF files (it does
not check all the directory information, but does check all the data).
o tiff2bw is a simple program to convert a color image to grayscale.
o ras2tiff is a quick hack that converts Sun rasterfile format images to
TIFF -- it's less than complete.
o rgb2ycbcr converts an RGB, grayscale, or bilevel TIFF image to a
YCbCr TIFF image.
o gif2tiff is a quick hack that converts GIF 87a format images to TIFF.
o ppm2tiff is a quick hack that converts PPM format images to TIFF.
o fax2tiff converts raw Group 3 facsimile data to TIFF.
o pal2rgb converts a Palette color image to a full color RGB image by
applying the colormap.
o tiffdither dithers a b&w image into a bilevel image (suitable for
use in creating fax files)
o tiffsplit creates one or more single-image files from a (possibly)
multi-image file
o Finally, tiffmedian is a version of Paul Heckbert's median cut program
that reads an RGB TIFF image, and creates a TIFF palette file as a
result. It's useful for converting full-color RGB images to 8-bit
color for your friends that have cheapo 8-bit framebuffers.
There is also:
o sgi2tiff, a program to convert SGI image files to TIFF. This
program is only useful on SGI machines as it uses -limage.
Check out the manual pages for details about the above programs.
Contributed Stuff
-----------------
The directory contrib has contributed software:
contrib/dbs an X-based TIFF viewer from Dan & Chris Sears (has not
been updated in a long time and does not compile)
contrib/ras two programs by Patrick Naughton for converting
between Sun rasterfile format and TIFF (these
require libpixrect.a, as opposed to the one in
tools that doesn't)
contrib/fax2ps a program that converts TIFF/F images to an encoded
form of PostScript that is faster to print than just
dumping a full raster
contrib/vms scripts and files from Karsten Spang for building
the library and tools under VMS
Don't send me mail asking about these programs. Send questions
and/or bug reports directly to the authors.
Documentation
-------------
A copy of the 6.0 spec available by public ftp from sgi.com in the
directory graphics/tiff. TIFF6.ps is the PostScript of the final 6.0
spec as provided by Aldus. TIFF6.ps.Z is a compress(1)'d version of
TIFF6.ps.
Test Images
-----------
Test images are available for most formats supported by the library.
The images are kept in a separate archive that should be located along
with this software. For example, if the archive that you retrieve was
v3.1.tar.Z, then the images should be in the same directory in an
archive named v3.1pics.tar.Z.
Building the Software
---------------------
To configure things for your machine, check for Makefiles in the
libtiff and tools directories for your machine:
Makefile.aix Makefile for an IBM RS/6000 running AIX 3.x
Makefile.alpha Makefile for DEC AlphaAXP, OSF/1 v1.3
Makefile.apollo Makefile for an Apollo
Makefile.convex Makefile for Convex
Makefile.gcc Makefile for use with gcc (the GNU compiler)
Makefile.hpux Makefile for HP machines running HP-UX
Makefile.lcc Makefile for Atari
Makefile.mpw Makefile for an Apple Macintosh with MPW
Makefile.next Makefile for NeXT
Makefile.sco Makefile for a PC running SCO ODT 2.0 (or similar)
Makefile.sgi Makefile for Silicon Graphics
Makefile.sun Makefile for a Sun-3 or Sun-4 running SunOS 3.5+
If your machine is not represented, you'll have to make up a Makefile
that is right for you. In libtiff the important things to setup are
AR=/usr/bin/ar whatever your library archiver is called
RANLIB=/usr/bin/ranlib if you need to ranlib a library
IPATH=-I. -I/usr/include/bsd list of directories to search includes
CONF=.... configuring optional support
To build the library, just
cd libtiff; make
In the tools directory, pick the appropriate Makefile as in the libtiff
directory. If no Makefile is present for your machine, create one, setup
the MACHALL macro,
MACHALL=ras2tiff tiffgt tiffsv
and add definitions for how to build tiffgt and tiffsv for your machine
(if appropriate). Note also that for building the fax2tiff program, the
CONF_LIBRARY macro in the Makefile MUST agree with the definition in the
Makefile in the libtiff directory! If this is not true, then fax2tiff
will not work.
To build the tools library, just
cd ../tools; make
Checking out the Software
-------------------------
Assuming you have working versions of tiffgt and tiffsv, you can just
use them to view any of the sample images (the list is given below).
Otherwise, you can check out the operation of the library with tiffcp
and tiffcmp. For example,
tiffcp -lzw cramps.tif x.tif
tiffcmp cramps.tif x.tif
(tiffcmp should be silent if the files compare correctly).
Bugs and such....
-----------------
This software is free. The only thing that I ask in return is that you
tell me when you find a problem or fix a bug. I also gladly accept
software contributions, although I hesitate to include such software in
my regular stuff if I am personally unable to test it.
A mailing list for users of this software is located on sgi.com.
If you want to join this mailing list or have a list-related request
such as getting your name removed from it, send a request to
tiff-request@sgi.com
For example, to subscribe, send the line "subscribe" in
the body of your message. The line "help" will return a list of
the commands understood by the mailing list management software.
Submissions (including bug reports) should be directed to:
tiff@sgi.com
When corresponding about this software please always specify what
version you have, what system you are running on.
If all else fails, I can be reached by sending mail to sam@sgi.com
(but beware that I'm more likely to respond to mail sent to the
mailing list than mail sent directly to me).
Acknowledgements
----------------
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 Michael
Marking -- consult libtiff/mkg3states.c for further information.
Many other people have, by now, helped with bug fixes and code.
Warning
-------
It appears that Unisys is actively pursuing copyright control on the
LZW compression algorithm. In particular, users of the LZW compression
within the TIFF framework. For this reason the TIFF 6.0 spec states
that LZW compression is not recommended. It is unclear at this time
what compression algorithm will be used in place of it. I have no idea
what this means to you or to this library. I make no warranty or
guarantees with regard to the LZW support in this library.
Use and Copyright
-----------------
Silicon Graphics has seen fit to allow me 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. I would
also be interested in knowing about it and, hopefully, be acknowledged.
Sam Leffler (sam@sgi.com)
Table of Contents
-----------------
At least the following files are included in the distribution:
libtiff/tiff.h TIFF spec definitions
libtiff/tiffio.h public TIFF library definitions
libtiff/tiffiop.h private TIFF library definitions
libtiff/tiffcomp.h OS-compatibility definitions
libtiff/t4.h CCITT Group 3 1d code tables+definitions
libtiff/tif_fax3.h CCITT Group 3-related definitions
libtiff/tif_aux.c auxilary directory-related functions
libtiff/tif_ccittrle.c CCITT 1d Huffman compression
libtiff/tif_compress.c list of supported compression algorithms
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 algorithm
libtiff/tif_fax3.c CCITT Group 3 fax compression
libtiff/tif_fax4.c CCITT Group 4 fax compression
libtiff/tif_getimage.c code to read an entire image into an RGBA raster
libtiff/tif_jpeg.c JPEG compression placeholder
libtiff/tif_lzw.c LZW encoding and decoding
libtiff/tif_next.c NeXT 2-bit decoding algorithm (no encoding)
libtiff/tif_open.c open and simply query code
libtiff/tif_packbits.c Packbits encoding and decoding
libtiff/tif_print.c directory printing support
libtiff/tif_swab.c byte and bit swapping support
libtiff/tif_strip.c some strip-related code
libtiff/tif_thunder.c Thunderscan decoding (no encoding)
libtiff/tif_tile.c some tile-related code
libtiff/tif_unix.c UNIX-related OS support
libtiff/tif_apple.c Apple-related OS support
libtiff/tif_msdos.c MSDOS-related OS support
libtiff/tif_vms.c VMS-related OS support
libtiff/mkg3states.c program to generate G3 decoding state tables
libtiff/mkspans.c program to generate black-white span tables
tools/getopt.c public domain getopt from Berkeley used by tools
tools/fax2tiff.c convert raw facsimile data to TIFF
tools/gif2tiff.c convert GIF87 file to TIFF
tools/pal2rgb.c convert TIFF Palette image to TIFF RGB
tools/ppm2tiff.c convert PPM image file to TIFF
tools/ras2tiff.c convert Sun rasterfile format to TIFF (limited)
tools/rgb2ybcr.c convert TIFF to YCbCr TIFF
tools/sgi2tiff.c convert SGI image file to TIFF
tools/sgigt.c TIFF picture get for SGI framebuffer (uses GL)
tools/sgisv.c save image on SGI framebuffer in TIFF file
tools/tiff2bw.c convert color TIFF file to B&W
tools/tiff2ps.c convert TIFF to PostScript
tools/tiffcmp.c compare two TIFF files
tools/tiffcp.c copy/convert TIFF files (used to change compression)
tools/tiffdither.c dither grayscale to bilevel
tools/tiffdump.c dump TIFF header and directory tags w/o library
tools/tiffinfo.c print info about TIFF file(s)
tools/tiffmedian.c median cut RGB -> palette conversion program
tools/tiffsplit.c split a multi-page TIFF into single-page TIFFs
tools/ycbcr.c RGB->YCbCr->RGB test program
man/man1 UNIX manual pages for tools
man/man3 UNIX manual pages for libtiff functions

160
src/xv/README Normal file
View File

@ -0,0 +1,160 @@
(Note: This has been changed, and hopefully clarified, from the 3.00
version of this info. Please read it.)
Thank you for acquiring a copy of XV, a pretty nifty X program.
I hope you enjoy using it, as I've enjoyed writing it.
The latest version of XV (or at least a pointer to it) is available
via anonymous ftp on ftp.cis.upenn.edu, in the directory pub/xv. If
you're not sure if you have the latest version, or you are missing the
source or documentation for XV, PLEASE pick up the latest version of
the xv distribution. Do *not* send mail unless absolutely necessary
(ie, you don't have ftp capability).
Note: The documentation ('xvdocs.ps') may be installed in '/usr/local'.
If you're viewing this information via the 'About XV' command, and
you'd like to print it out, a copy of this info can be found in the
README file in the top-level XV source directory. Print that. If you
don't have it, see the previous paragraph.
XV Licensing Information
------------------------
XV IS SHAREWARE FOR PERSONAL USE ONLY.
You may use XV for your own amusement, and if you find it nifty,
useful, generally cool, or of some value to you, your registration fee
would be greatly appreciated. $25 is the standard registration fee,
though of course, larger amounts are quite welcome. Folks who donate
$40 or more can receive a printed, bound copy of the XV manual for no
extra charge. If you want one, just ask. BE SURE TO SPECIFY THE
VERSION OF XV THAT YOU ARE USING!
COMMERCIAL, GOVERNMENT, AND INSTITUTIONAL USERS MUST REGISTER THEIR
COPIES OF XV.
This does *not* mean that you are required to register XV just because
you play with it on the workstation in your office. This falls under
the heading of 'personal use'. If you are a sysadmin, you can put XV
up in a public directory for your users amusement. Again, 'personal
use', albeit plural.
On the other hand, if you use XV in the course of doing your work,
whatever your 'work' may happen to be, you *must* register your
copy of XV. (Note: If you are a student, and you use XV to do
classwork or research, you should get your professor/teacher/advisor
to purchase an appropriate number of copies.)
XV licenses are $25 each. You should purchase one license per
workstation, or one per XV user, whichever is the smaller number. XV
is *not* sold on a 'number of concurrent users' basis. If XV was some
$1000 program, yes, that would be a reasonable request, but at $25,
it's not. Also, given that XV is completely unlocked, there is no way
to enforce any 'number of concurrent users' limits, so it isn't sold
that way.
Printed and bound copies of the 100-odd page XV manual are available
for $15 each. Note that manuals are *only* sold with, at minimum, an
equal number of licenses. (e.g. if you purchase 5 licenses, you can
also purchase *up to* 5 copies of the manual)
The source code to the program can be had (as a compressed 'tar' file
split over a couple 3.5" MS-DOS formatted floppies) for $15, for those
who don't have ftp capabilities.
Orders outside the US and Canada must add an additional $5 per manual
ordered to cover the additional shipping charges.
Checks, money orders, and purchase orders are accepted. Credit cards
are not. All forms of payment must be payable in US Funds. Checks
must be payable through a US bank (or a US branch of a non-US bank).
Purchase orders for less than $50, while still accepted, are not
encouraged.
All payments should be payable to 'John Bradley', and mailed to:
John Bradley
1053 Floyd Terrace
Bryn Mawr, PA 19010
USA
Site Licenses
-------------
If you are planning to purchase 10 or more licenses, site licenses are
available, at a substantial discount. Site licenses let you run XV on
any and all computing equipment at the site, for any purpose
whatsoever. The site license covers the current version of XV, and
any versions released within one year of the licensing date. You are
also allowed to duplicate and distribute an unlimited number of copies
of the XV manual, but only for use within the site. Covered versions
of the software may be run in perpetuity.
Also, it should be noted that a 'site' can be defined as anything
you'd like. It can be a physical location (a room, building,
location, etc.), an organizational grouping (a workgroup, department,
division, etc.) or any other logical grouping ("the seventeen
technical writers scattered about our company", etc.).
The site license cost will be based on your estimate of the number of
XV users or workstations at your site, whichever is the smaller
number.
If you are interested in obtaining a site license, please contact the
author via electronic mail or FAX (see below for details). Send
information regarding your site (the name or definition of the 'site',
a physical address, a fax number, and an estimate of the number of
users or workstations), and we'll get a site license out to you for
your examination.
Copyright Notice
----------------
XV is Copyright 1989, 1994 by John Bradley
Permission to copy and distribute XV in its entirety, for
non-commercial purposes, is hereby granted without fee, provided that
this license information and copyright notice appear in all copies.
If you redistribute XV, the *entire* contents of this distribution
must be distributed, including the README, and INSTALL files, the
sources, and the complete contents of the 'docs' directory.
Note that distributing XV 'bundled' in with any product is considered
to be a 'commercial purpose'.
Also note that any copies of XV that are distributed MUST be built
and/or configured to be in their 'unregistered copy' mode, so that it
is made obvious to the user that XV is shareware, and that they should
consider registering, or at least reading this information.
The software may be modified for your own purposes, but modified
versions may not be distributed without prior consent of the author.
This software is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
If you would like to do something with XV that this copyright
prohibits (such as distributing it with a commercial product, using
portions of the source in some other program, distributing registered
copies, etc.), please contact the author (preferably via email).
Arrangements can probably be worked out.
The author may be contacted via:
US Mail: John Bradley
1053 Floyd Terrace
Bryn Mawr, PA 19010
FAX: (610) 520-2042
Electronic Mail regarding XV should be sent to one of these three addresses:
xv@devo.dccs.upenn.edu - general XV questions
xvbiz@devo.dccs.upenn.edu - all XV licensing questions
xvtech@devo.dccs.upenn.edu - bug reports, technical questions
Please do *not* send electronic mail directly to the author, as he
gets more than enough as it is.

22
src/zlib/LICENSE Normal file
View File

@ -0,0 +1,22 @@
Copyright notice:
(C) 1995-2022 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu

117
src/zlib/README Normal file
View File

@ -0,0 +1,117 @@
ZLIB DATA COMPRESSION LIBRARY
zlib 1.3.1 is a general purpose data compression library. All the code is
thread safe. The data format used by the zlib library is described by RFCs
(Request for Comments) 1950 to 1952 in the files
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
rfc1952 (gzip format).
All functions of the compression library are documented in the file zlib.h
(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
of the library is given in the file test/example.c which also tests that
the library is working correctly. Another example is given in the file
test/minigzip.c. The compression library itself is composed of all source
files in the root directory.
To compile all files and run the test program, follow the instructions given at
the top of Makefile.in. In short "./configure; make test", and if that goes
well, "make install" should work for most flavors of Unix. For Windows, use
one of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use
make_vms.com.
Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
<info@winimage.com> for the Windows DLL version. The zlib home page is
http://zlib.net/ . Before reporting a problem, please check this site to
verify that you have the latest version of zlib; otherwise get the latest
version and check whether the problem still exists or not.
PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
issue of Dr. Dobb's Journal; a copy of the article is available at
https://marknelson.us/posts/1997/01/01/zlib-engine.html .
The changes made in version 1.3.1 are documented in the file ChangeLog.
Unsupported third party contributions are provided in directory contrib/ .
zlib is available in Java using the java.util.zip package. Follow the API
Documentation link at: https://docs.oracle.com/search/?q=java.util.zip .
A Perl interface to zlib and bzip2 written by Paul Marquess <pmqs@cpan.org>
can be found at https://github.com/pmqs/IO-Compress .
A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
available in Python 1.5 and later versions, see
http://docs.python.org/library/zlib.html .
zlib is built into tcl: http://wiki.tcl.tk/4610 .
An experimental package to read and write files in .zip format, written on top
of zlib by Gilles Vollant <info@winimage.com>, is available in the
contrib/minizip directory of zlib.
Notes for some targets:
- For Windows DLL versions, please see win32/DLL_FAQ.txt
- For 64-bit Irix, deflate.c must be compiled without any optimization. With
-O, one libpng test fails. The test works in 32 bit mode (with the -n32
compiler flag). The compiler bug has been reported to SGI.
- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
when compiled with cc.
- On Digital Unix 4.0D (formerly OSF/1) on AlphaServer, the cc option -std1 is
necessary to get gzprintf working correctly. This is done by configure.
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
other compilers. Use "make test" to check your compiler.
- gzdopen is not supported on RISCOS or BEOS.
- For PalmOs, see http://palmzlib.sourceforge.net/
Acknowledgments:
The deflate format used by zlib was defined by Phil Katz. The deflate and
zlib specifications were written by L. Peter Deutsch. Thanks to all the
people who reported problems and suggested various improvements in zlib; they
are too numerous to cite here.
Copyright notice:
(C) 1995-2024 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
If you use the zlib library in a product, we would appreciate *not* receiving
lengthy legal documents to sign. The sources are provided for free but without
warranty of any kind. The library has been entirely written by Jean-loup
Gailly and Mark Adler; it does not include third-party code. We make all
contributions to and distributions of this project solely in our personal
capacity, and are not conveying any rights to any intellectual property of
any third parties.
If you redistribute modified sources, we would appreciate that you include in
the file ChangeLog history information documenting your changes. Please read
the FAQ for more information on the distribution of modified source versions.