====== GIFLITE 1.30 =========================== Order Form ====== Please send cheque or money order payable to "Tsung Hu", overseas order in money order, please. (Note that the current postage from US to Canada is $0.40.) Mr. Tsung Hu P.O.Box 938, Unit 105 St. Catharines, Ontario L2R 6Z4 Canada ----------------------------------------------------------------- Qty. Item US/CAD Amount ___ GIFLITE Registration @ $20/$23 $________ (with registered version and document on disk) Add $1 per copy for 3.5 disk $________ Total US$________/CAD$________ Signature __________________________ Name ________________________________________________________ Address ________________________________________________________ ________________________________________________________ Country _____________________ Where did you obtain GIFLITE ?___________________________________ Comments ________________________________________________________ _________________________________________________________________ ================================================================= GIFLITE (tm) GIF Compressor 1.30 ________________________________ User Manual (c) Copyright 1991 By Tsung Hu All Rights Reserved. 15 June 1991 P.O.Box 938 Unit 105 St. Catharines Ontario, L2R 6Z4 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 INTRODUCTION 1 INTRODUCTION __________________________________________________________________ High resolution VGA's and full color scanners have produced a mass volume of high quality digitized images. Most of these images available in Bulletin Board System (BBS) are stored in the Graphics Interchange Format (GIF). Though the GIF format uses a compression algorithm to store a image, the size of the resulting file can still easily over 100K bytes or even over 200K bytes. If you are a GIF collector or a BBS sysop, you will find your GIF collection occupied a large portion of your hard disk. How would you like to save 25% of those expensive disk space? WHAT IS GIFLITE GIFLITE is an easy to use GIF file compression program. It compresses the GIF files so that they will require much less disk space yet still preserve the same quality and resolution. With GIFLITE, high quality digitized GIF images can be further compressed by average of 15% to 35% depending on the complexity of the images. What makes GIFLITE special is that the resulting GIF file are almost identical to the original file. Human eyes can hardly tell them apart. GIFLITE conforms to both GIF87a and GIF89a standards. All non- image information is preserved in the resulting GIF files. The compressed images can be read by standard GIF decoders, such as VPIC and CSHOW. Using GIFLITE is much like using the other file compressors. If you have used any file compressor, you will find yourself already familiar with the command structure and options. If you have any questions, you can write to us, or leave e- mail to "Winfred Hu" in the following BBSs' main board or in CompuServe to [72070,3515]. We appreciate suggestions and ideas. PC Connect: Toronto, Canada (416)733-9052 USR-HST/ds User To User: Dallas, USA (214)492-6565 USR-HST/ds 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 perspective buyers can have the opportunity to evaluate the product before making a decision to buy. If you decide to use this software, then you are under both legal and moral obligation to register it with the author. But if you decide not to use it after evaluating the software, you are under no obligation. It is fully protected by State, Federal and International copyright laws. If you continue to use GIFLITE after the 15-day evaluation time period you must register it. Registration Fee : $ 20.0 US or $ 23.0 CAD To register your copy of GIFLITE, fill in the order form and mail along with your cheque or money order payable to "Tsung Hu" in US or CAD to the address indicated in the form. When you register, you will receive the program diskette of the current version with your registration number on it. 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 version or the unregistered version distributed through the Shareware channel has the following limitation: 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. The limitation is removed in the registered version. 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 (BBS) that operate through subscription fees may post GIFLITE for download by its subscribers. Disk distributors of Shareware or User-Supported software may distribute GIFLITE, which includes the program and the document, for a fee under US$8 which covers copying and other administrative costs. Otherwise, the distributors 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 images is compressed, it cannot be expanded to the original. Make a backup if you want to restore the original images. TRADEMARKS GIFLITE is a trademark of the author. Graphics Interchange Format and GIF are trademarks of CompuServe Inc. and H&R Block Company. Many specific products found in this manual are trademarks of specific companies. USING GIFLITE 4 USING GIFLITE __________________________________________________________________ GIFLITE requires an IBM PC/AT/fully compatible computer, DOS 2.2 or greater, 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. SET GIFLITE= ENVIRONMENT VARIABLE To help locating 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 in and where GIFLITE.USE should be in. If you are using DOS 3.1 or higher, it indicates where the GIFLITE.USE should be in. This environment variable tells GIFLITE to put the usage log into a single GIFLITE.USE even if you are compress the GIF files in 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 the 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 treated the copy as if it is not registered. USING GIFLITE 5 COMMAND LINE All the commands used 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 character '*' 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 character. To prevent running out of memory, the list file should not contains too many file names, say thousands. [OutFile] is the name and directory of the output GIF file. The file name does not accept wildcard character. If only path is specified, the 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. -9 Replace GIF87a header with GIF89a header. -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[1,2,3] Use method 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. USING GIFLITE 6 COMMAND OPTIONS All command options must be preceded by a '-' or '/' character. The options are described below. -9 Replace GIF87a header with GIF89a header. This option will replace the GIF87a header in the output file with the new GIF89a header. The GIF89a header ensures compatibility between a GIF89a decoder and the GIFLITE header. However, GIF87a decoder will not be able to decode the resulting GIF file. For maximum compatibility with GIF87a and GIF89a decoders, you should use the -h option instead. Note: CompuServe Graphics Forum accepts GIFLITE processed GIF files ONLY IF 1. The GIF file is compressed with the -9 option, or 2. The GIF file is compressed with the -h option. -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 a large volume of 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 a collection of GIF files with the unregistered version or without using the -h option and later you want maximum compatibility with non-standard decoders. 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 GIF87a standard, the header will be ignored by a GIF decoder and most decoders conform to the standard. For maximum compatibility with non-standard decoder, you should specify this option. This option is available in the registered version only. Note: CompuServe Graphics Forum accepts GIFLITE processed GIF files ONLY IF 1. The GIF file is compressed with the -9 option, or 2. The GIF file is compressed with the -h option. USING GIFLITE 7 -i Ignore GIFLITE header in the original. During compression, GIFLITE will check if a GIFLITE header exists in the source file and 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. -l No usage log to GIFLITE.USE. Normally, GIFLITE will produce an 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[1,2,3] Use method 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. For 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 reserve better quality of the original images. -o Overwrite output if it exists. If the file you specified in the output file already exists, this option tells GIFLITE to automatically overwrite the output file. If you do not use this option, GIFLITE will prompt you for confirmation before it overwriting any existing output file. -s Statistics on usage log. The usage log GIFLITE.USE also allows you to perform a statistic analysis on it. This option displays the number of files recorded in the usage log, the original file size, the compressed file size and the overall compression ratio. -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 there is a conflict between the resolution of the image and the screen, it will be compressed in text mode. 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. ERRORLEVEL EXIT VALUE When exit, 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, Unregister 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 will continue until all the other files are processed. USING GIFLITE 9 EXAMPLES __________________________________________________________________ 1. The simplest form of GIFLITE is C:\GIF>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. C:\GIF>GIFLITE -o K* D:\GIFLITE In this example, the GIF files started 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 compress the files with a .GIF extension. The -o option tells GIFLITE to overwrite any existing output file automatically. 3. For the statistic analysis, C:\GIF>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 or if you are running GIFLITE in a multitasker such as DesqView and Windows 386 Enhanced mode, the -t option will forces GIFLITE to use text mode only. For example, C\GIF>GIFLITE -t * 5. To compress a hand-drawn image or a image with detail texture, C:\GIF>GIFLITE -m3 HANDRAWN.GIF The -m3 option specifies compression method 3 which may produce a more acceptable but less compressed image. USING GIFLITE 10 6. To compress all the GIF files without making backups, C:\>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 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 into the bulletin saying that the GIF files in your BBS are compressed by GIFLITE to prevent users from compressing an already compressed GIF files. C:\GIF>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 specification 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. C:\GIFLITE>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 upload GIF files with this option. Normally there is no need to filter out the GIFLITE header since the header provides additional information and you can avoid compressing an already compressed file. 9. Some BBSs, such as CompuServe, have a strict policy with the GIF files. Then you should compress the GIF file with the -9 option which replace the GIF87a header with GIF89a header OR with the -h option which skip inserting the GIFLITE header. For example, C\GIF>GIFLITE -9 * \CIS C\GIF>GIFLITE -h * \CIS USING GIFLITE 11 10. 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. 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 colors images . 16 or less colors images, unless the colors are very similar to each others . Dither images Hand drawn images or images with detail texture may produce poor result with the default maximum compression. For these images, either method 2 (-m2) or method 3 (-m3) should be used to compress the image. Although the GIFLITE header is encoded in GIF89a format, most popular GIF87a decoders will ignore the header and they should, according to the GIF87a standard. If your decoder does not support full GIF87a standard, you should not compress the files or you should use the -h option in the registered version to avoid inserting the GIFLITE header. Some BBSs, such as CompuServe, have a strict policy with the GIF files. Then you should compress the GIF file with the -9 option which replace the GIF87a header with GIF89a header OR with the -h option which skip inserting the GIFLITE header. Note: CompuServe Graphics Forum accepts GIFLITE processed GIF files ONLY IF 1. The GIF file is compressed with the -9 option, or 2. The GIF file is compressed with the -h option.