====== GIFLITE 2.00 =========================== Order Form ====== Please send cheque or money order made payable to "White River Software", overseas order in money order, please. (Note that the current postage from US to Canada is $0.40.) White River Software P.O.Box 73031 Limeridge Mall Postal Outlet Hamilton, Ont. L9A 5H7 Canada ----------------------------------------------------------------- Qty. Item US/CAD Amount ___ GIFLITE Registration @ $30/$35 $________ (with latest version and document on disk, and the registration number to remove any limitation functions) ___ Telemate Registration @ $49/$55 $________ (Full feature integrated communication program, simply the best in the market) ___ GIFLink Registration @ $30/$35 $________ (Look! A X/Y/Zmodem/QuickB external protocol driver that displays transmitting GIF images in SuperVGA 256 colors!) Less $10 discount if you order any two or $20 discount if you order all three $(______) Shipping and handling outside US and Canada @ $4 $________ Subtotal $________ Ontario resident please add Prov. Sales Tax (8%) $________ Canadian resident please add Goods & Services Tax (7%) $________ Total US$________/CAD$________ Disk size: [ ] 5.25 [ ] 3.5 (Please check one) Name ________________________________________________________ Address ________________________________________________________ ________________________________________________________ Country _____________________ Phone (______) _________________ Where did you first hear about GIFLITE ?_________________________ Comments ________________________________________________________ ================================================================= GIFLITE (tm) GIF Compressor 2.00 ________________________________ User Manual (c) Copyright 1992-1993 White River Software All Rights Reserved. 5 January 1993 P.O.Box 73031 Limeridge Mall Postal Outlet Hamilton, Ont. L9A 5H7 Canada TABLE OF CONTENTS INTRODUCTION 1 What is GIFLITE? . . . . . . . . . . . . . . . . . . . . 1 REGISTRATION 2 Evaluation Version . . . . . . . . . . . . . . . . . . . 2 License . . . . . . . . . . . . . . . . . . . . . . . . 3 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . 3 Trademarks . . . . . . . . . . . . . . . . . . . . . . . 3 USING GIFLITE 4 SET GIFLITE= Environment Variable . . . . . . . . . . . . 4 Command Line . . . . . . . . . . . . . . . . . . . . . . 5 Command Options . . . . . . . . . . . . . . . . . . . . . 6 ERRORLEVEL Exit Value . . . . . . . . . . . . . . . . . . 8 EXAMPLES . . . . . . . . . . . . . . . . . . . . . . . . . . 9 IMAGES THAT SHOULD BE NOT COMPRESSED 12 GIFLITE INTRODUCTION 1 INTRODUCTION __________________________________________________________________ High resolution VGA's and full color scanners have led to the availability of a mass volume of high quality digitized images. Most of the images found on Bulletin Board Systems (BBS's) are stored in the Graphics Interchange Format (GIF). Although the GIF format uses a compression algorithm to store an image, the size of the resulting file can still easily be over 100K or even 200K bytes. If you are a GIF collector or a BBS sysop, you will find your GIF collection occupying a large portion of your hard disk. How would you like to save 30% of that expensive disk space? WHAT IS GIFLITE GIFLITE is an easy-to-use GIF file compression program. It compresses GIF files so that they will occupy much less disk space yet retain the same quality and resolution. With GIFLITE, high quality digitized GIF images can be further compressed by an average of 30%. What makes GIFLITE special is that the resulting GIF files are almost identical to the original; human eyes can hardly tell them apart. GIFLITE conforms to both GIF87a and GIF89a standards. All non- image information is preserved in the compressed GIF files. The compressed images can be read by standard GIF decoders, such as VPIC v4+ and CSHOW v8.3+. Using GIFLITE is much like using the other file compressors. If you have used any file compressor, you will already be familiar with GIFLITE's command structure and options. If you have any questions, you can write to us, or leave e- mail for "Winfred Hu" on the main boards of the BBS's listed below, or on CompuServe at [72070,3515]. We appreciate suggestions and ideas. PC Connect: Toronto, Canada (416)733-9052 2400 User To User #1: Dallas, USA (214)492-6565 USR-HST/ds User To User #2: Dallas, USA (214)492-5695 HAYES V.42 GIFLITE REGISTRATION 2 REGISTRATION __________________________________________________________________ GIFLITE is NOT FREE. You MUST REGISTER after the 15-day evaluation time period. GIFLITE is a Shareware product. It is distributed through public access channels so that prospective buyers can evaluate it for 15 days. If you use GIFLITE beyond the 15-day evaluation period, then you are under both a legal and moral obligation to register it with the author. GIFLITE is fully protected under State, Federal and International copyright laws. Registration Fee: $ 30.0 US or $ 36.0 CAD To register your copy of GIFLITE, fill in the order form and mail along with a cheque or money order of US$30 / CAD$35 payable to "White River Software" in US or CAD White River Software P.O.Box 73031 Limeridge Mall Postal Outlet Hamilton, Ont. L9A 5H7 Canada CompuServe users can register GIFLITE through the Shareware registration service. GO SWREG and search for GIFLITE. When you register, you will receive the program diskette of the latest version and your registration number. Registration entitles you continue using the current version and all future versions. The registration number will remove any limitation functions in the unregistered version of the current and the FUTURE releases. EVALUATION VERSION The evaluation (unregistered) version distributed through the Shareware channel has the following limitations: 1. The maximum resolution of an input GIF file is 640x480. 2. The -f option (Filter out the GIFLITE header) is not available. 3. The -h option (Do not insert GIFLITE header to output file) is not available. These limitations are removed in the registered version. GIFLITE REGISTRATION 3 LICENSE You are free to copy and distribute GIFLITE for NON-COMMERCIAL use IF: NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION, AND IT IS NOT MODIFIED IN ANY WAY. Computer user groups or clubs may make copies of GIFLITE for distribution to members for a fee that covers copying and other administrative costs. Bulletin Board Systems that operate through subscription fees may post GIFLITE for downloading by its subscribers. Disk distributors of Shareware or User-Supported software may distribute GIFLITE for a fee under US$8 to cover copying and other administrative costs. Otherwise, the distributors must obtain written permission from the author. THIS DOCUMENTATION MUST BE DISTRIBUTED TOGETHER WITH THE PROGRAM! CD-ROM producers have to obtain a written permission from the author. DISCLAIMER This program is provided AS IS without any warranty, expressed or implied, including but not limited to fitness for a particular use. Since the GIF file format does not contain decompression information, the compression process is not reversible, which means once the image is compressed, it cannot be expanded to the original. Make a backup if you want to restore the original image. TRADEMARKS GIFLITE, GIFLink and Telemate are trademarks of White River Software. Graphics Interchange Format and GIF are trademarks of CompuServe Inc. Many specific products found in this manual are trademarks of specific companies. GIFLITE USING GIFLITE 4 USING GIFLITE __________________________________________________________________ GIFLITE requires an IBM PC/AT/fully compatible computer, DOS 2.2 or greater, and a minimum of 300K bytes of memory. Optional: GIFLITE makes full use of EMS (EXPanded Memory), XMS (EXTended Memory), hard disk space and VGA board memory during compression. GIFLITE is Windows aware and will use text mode under these multitaskers. SET GIFLITE=ENVIRONMENT VARIABLE To help locate the files GIFLITE.EXE and GIFLITE.USE, you should put the environment variable into the AUTOEXEC.BAT, for example, SET GIFLITE=C:\GIF If you are using DOS 2.2 to 3.0, it indicates the directory where GIFLITE.EXE is and where GIFLITE.USE should be. If you are using DOS 3.1 or higher, it indicates where the GIFLITE.USE should be. This environment variable tells GIFLITE to put the usage log into a single GIFLITE.USE even if you are compressing the GIF files in a different directory. If the variable is not present and you are using DOS 3.1 or higher, the usage log will be put into the same directory as GIFLITE.EXE. IMPORTANT: If you are using the registered version under DOS 2.2 to 3.0, you MUST setup the environment variable, otherwise GIFLITE may not be able to locate the registration number and will treat the copy as if it is not registered. GIFLITE USING GIFLITE 5 COMMAND LINE All the commands are entered on the command line at the DOS prompt. These options tell GIFLITE to carry out certain commands when the program is loaded. Below is the description of the command line options. The GIFLITE command line structure is: GIFLITE [options] [GifFile]|[@ListFile] [OutFile] Parameters lists in [] are optional. If no option and file name is specified, GIFLITE will display a help screen listing all the options. To compress files, either [GifFile] or [@GifList] must be presented in the command line. [GifFile] is the name and directory of the source GIF file to be compressed. The file name can contain wildcard characters '*' and '?'. To prevent running out of memory, the wildcard expression should not contain too many files, say thousands. [@ListFile] is a file containing a list of the GIF files to be compressed. This option is used when the GIF files cannot be expressed as a wildcard easily. The names in the list file are separated by a space or a carriage return and the names can contain wildcard characters. To avoid running out of memory, the list file should not contain too many file names, say thousands. [OutFile] is the name and directory of the output GIF file. If only path is specified, an output file with the same name of the original file will be created in the specified path. [options] are the GIFLITE options that you can specify. The following is a summary of all options available in GIFLITE. -b No backup .BAK file of the original. -f Filter out the GIFLITE header -h Do not insert the GIFLITE header to output file. -i Ignore GIFLITE header in the original. -l No usage log to GIFLITE.USE. -m Use method 0, 1, 2 or 3 (default is 1). -o Overwrite output if it exists. -s Statistics on usage log. -t Text mode only, no graphic display. -u Update file time/date to current time/date. -@ Exclude files. GIFLITE USING GIFLITE 6 COMMAND OPTIONS All command options must be preceded by a '-' or '/' character. The options are described below. -b No backup .BAK file of the original. By default, a backup file with a .BAK extension of the original uncompressed file is created. If you specify this option, no backup file is created. This option is useful when you are compressing many GIF files and you do not have the disk space for backup. -f Filter out the GIFLITE header. ** This option provides a way to filter out the GIFLITE header without recompressing the file. It is used when you have compressed GIF files with the unregistered version or without using the -h option and later you want maximum compatibility with non-standard decoders. The GIF89a header will be converted back to GIF87a if there is no other GIF89a extension in the resulting file. ** This option is available in the registered version only. -h Do not insert the GIFLITE header to output file. ** By default, GIFLITE will insert a short header to the output file indicating it is compressed by GIFLITE. If you specify this option, the header will not be inserted into the output file. According to the GIF89a standard, the header will be ignored by a GIF decoder and most decoders conform to the standard. For maximum compatibility with non-standard decoders, you should specify this option. ** This option is available in the registered version only. -i Ignore GIFLITE header in the original. During compression, GIFLITE will check for a GIFLITE header in the source file and will abort the process if it exists. This prevents compressing an already compressed file. If you specify this option, GIFLITE will ignore the header and attempt to compress the file. The old header will be replaced by a new one. GIFLITE USING GIFLITE 7 -l No usage log to GIFLITE.USE. Normally, GIFLITE will produce a usage log file GIFLITE.USE recording the compression information so that you can keep track of which files are compressed and the ratio of compression. If you specify this option, the compression information will not be written to the usage log file. -m[0,1,2,3] Use method 0, 1, 2 or 3. The default method 1 produces an output file with maximum compression. Method 2 produces a less compressed file and method 3 produces a least compressed file. With most images, the output images are almost identical to the source images. But for some images, such as hand-drawn images or images with detail texture, method 2 and method 3 will preserve the original images most faithfully. Method 0 stores the image without compression and can be used to insert the GIFLITE header in order to prevent recompression. If the original picture is not encoded efficiently, method 0 may reduce its size. -o Overwrite output if it exists. If the file you specified in the output file already exists, this option tells GIFLITE to automatically overwrite it. If you do not use this option, GIFLITE will prompt you for confirmation before overwriting any existing output file. -s Statistics on usage log. The usage log GIFLITE.USE also allows you to perform a statistical analysis on your file compressions. The -s option displays the number of files recorded in the usage log, the original file size, the compressed file size and the overall compression ratio. This option overrides other options and no compression will be performed. -t Text mode only, no graphic display. By default, GIFLITE will attempt to display the image on screen during compression. Using the video memory, GIFLITE avoids using the main memory, EMS, XMS or disk space as secondary storage to store the temporary image. If you specify this option or if there is a conflict between the resolution of the image and the screen, it will be compressed in text mode. If GIFLITE does not display the image correctly on the screen, you have a video adapter other than a VGA, or you are running GIFLITE in a multitasker, this option should be used to avoid the conflict. GIFLITE USING GIFLITE 8 -u Update file time/date to current time/date. This option assigns the current date and time to the output file. If you do not use this option, the date and time will be preserved in the output file. -@ExcludeListFile Exclude files specified in ExcludeListFile. This option allows you to specify a list of files you want to exclude. The ExcludeListFile should contains one file name per line. The file name must not contain directory or wildcard characters. Any characters after the file name are ignored. This format allows the usage log file GIFLITE.USE to be used as the exclude list file. ERRORLEVEL EXIT VALUE When exiting, GIFLITE sets the ERRORLEVEL exit value to one of the following: 0, Success: All files are compressed successfully. 1, Unrecoverable Error: Any error that aborts the program, for example, Invalid command line, File not found, Disk full, Not enough memory, etc. 2, Recoverable Error: One or more of the input files have an image error or are already compressed by GIFLITE. The compression will continue until all the other files are processed. 3, Unregistered Limit Reached: One or more of the input files have a resolution greater than 640x480, if you are using an unregistered copy of GIFLITE. The compression will continue until all the other files are processed. GIFLITE EXAMPLES 9 EXAMPLES __________________________________________________________________ 1. The simplest form of GIFLITE is GIFLITE PICTURE.GIF In this example, the file PICTURE.GIF will be compressed and the output file will overwrite the original file. A backup of the original file is produced as PICTURE.BAK. After the file is compressed, GIFLITE will display the original size of the file, the compressed size, and the compression ratio. 2. The following illustrates the use of an output directory. GIFLITE -o K* D:\GIFLITE In this example, the GIF files starting with a 'K' are compressed to the directory D:\GIFLITE with the same file name as the original. Since no extension for the files are specified, GIFLITE automatically compresses the files with a .GIF extension. The -o option tells GIFLITE to overwrite any existing output file automatically. 3. For the statistical analysis, GIFLITE -s The -s option reads the usage log GIFLITE.USE and calculates the total original size, compressed size and the overall compression ratio. 4. GIFLITE will attempt to display the GIF files on-screen during compression. In case of incompatibility with the video card, the -t option will force GIFLITE to use text mode only. For example, GIFLITE -t * 5. To compress a hand-drawn image or an image with detail texture, GIFLITE -m3 HANDRAWN.GIF The -m3 option specifies compression method 3, which may produce a more acceptable but less compressed image. GIFLITE EXAMPLES 10 6. To compress all the GIF files without making backups, GIFLITE -b C:\GIF\* The wildcard 'C:\GIF\*' tells GIFLITE to compress all *.GIF files in the C:\GIF directory. The -b option prevents GIFLITE from making a backup. 7. If you are a BBS sysop or a GIF producer, you should compress the GIF file with the -h option for maximum compatibility with non-standard GIF decoders. And you could put a message onto the board saying that the GIF files in your BBS are compressed by GIFLITE to prevent users from compressing any already compressed GIF files. GIFLITE -h @GIFLITE.LST The example also illustrates the use of a list file GIFLITE.LST. A list file contains one or more lines of file specifications separated by a space or a carriage return, for example C:\GIF1\A* D:\GIF2\B* E:\GIF3\C* 8. If you have already compressed a lot of GIF files with the unregistered version or without using the -h option, you can filter out the GIFLITE header quickly with the -f option. GIFLITE -f -b * If you are a BBS sysop and you want to keep the GIF files in maximum compatibility with non-standard decoders, you can filter out the GIFLITE header from newly-uploaded GIF files with this option. Normally there is no need to filter out the GIFLITE header since it provides additional information and you can avoid compressing an already compressed file. 9. For an image with detailed texture, you may want to insert the GIFLITE header without compressing the image. You can do this by using the -m0 option. GIFLITE -m0 TEXTURE.GIF 10. To avoid compressing already compressed pictures, you can use the usage log file GIFLITE.USE as the exclude list file. GIFLITE -@GIFLITE.USE * GIFLITE EXAMPLES 11 11. If you are compressing a large volume of GIF files, the process may continue for several hours. It would be better to perform the compression overnight. Fortunately, it is a one- time process; once you have the files compressed, it will save the disk space permanently. GIFLITE IMAGES THAT SHOULD NOT BE COMPRESSED 12 IMAGES THAT SHOULD NOT BE COMPRESSED __________________________________________________________________ GIFLITE can compress most GIF files. However, not all GIF files can be compressed, they are: . Black and white 2 color images . Images with 16 or less colors . Dithered images Hand drawn images or images with detailed texture may produce poor results with the default maximum compression. For these images, either method 2 (-m2) or method 3 (-m3) should be used. Images compressed by GIFLITE fully conform to the GIF87a and GIF89a specification and pass the GIF validation check from CompuServe. All standard GIF viewer/decoders should be able to read the compressed images. If yours does not, this suggests that it does not fully conform to the GIF87a and GIF89a specification. You should ask the author of that GIF decoder for an updated or bug-fixed version of their software. Most popular GIF decoders will ignore the GIFLITE header. If your decoder does not conform fully to the GIF standard, you should not compress the files or you should use the -h option in the registered version to avoid inserting the GIFLITE header.