==============================================================================
GIFSCAN for LOGITECH SCANMAN 400 dpi handheld scanner driver     version 0.0.2
==============================================================================

Hi folks!

This is a small demonstration program for the driver for the LOGITECH 
SCANMAN+ scanner.

Parts of this program have been written by Thomas Faehnle <Thomas.Faehnle@
student.uni-ulm.de> whom I wish to thank for his efforts.

I changed its original 'scandemo' heavily to suit the enhanced capabilities
of the LOGI32 driver/scanner (Scanner Identification,SIB-ioctl,Dithered Gray-
scale) and to provide some reliable way to save the scanned images in a 
common format.

This version of scandemo has been renamed to gifscan and entirely replaces
the script provided with earlier versions of this package.

The script was discarded as it had no possibility to correctly determine the
line-width the scanner was sending and therefore would produce incorrect
results when used with different scanners/the wrong parameters.

I have chosen the GIF-Format (which is (c) by Compuserve,I think) for those 
primary reasons :
- Nearly any graphics package can handle it.
- I already had written C-source (from Mess-Dos) to handle Gif-saving
- The compression is quite good.

To build the program,"make" should do.
Please make sure that the #included <scanner.h> is the same as the one used
for compiling the scanner-driver.
This file changes often,so please make sure,that you have always the newest
version in your /usr/local/include.
As the ioctl-interface is still heavily under construction,old gifscan
binaries will normally break when using them with a new driver.

The Logitech scanner has a black-and-white and a greyscale-mode.
This is unfortunately NOT software-detectable (or does anybody know how ?).

Therefore I added a switch (yes,I know I do a CRUDE option-processing,but
I didn't want to include getopt for just one switch ...) named -g x where
x is the size of the greyscale-matrix to use.

**************************************************************************
In the current version this switch is still available,but it should not be
used any more,as the new-style scanner-drivers should provide dithering
as an option ! (Logi32 does.)
**************************************************************************

This should be set to 1 (default) for b/w and to 6 for greyscale mode (as
this is the size of the scanner-internal matrix).
Other values ranging from 1 to 16 my be useful for other scanners but will
show strong moire-effects with the LOGITECH.

The now supported Scanman256 has true greyscale modes.
All of its modes (BW,4,6 and 8 bit) should be supported now.

While Scanning,there are the following keys available (the keys will NOT be
recognized until the scanner is moved,as I didn't want to busy-wait or
select for scanner-data to arrive) :

<Esc>,q,x,Q,X	: exit gifscan.
i,I		: toggle (I)nverse mode.
w,W		: toggle scan-speed-(W)arning mode (screen will turn to
                  red/purple when buffer is nearly full)
f		: start saving into the GIF-(F)ile (any key to stop)
0-9             : toggle option Nr. x.
b/B,c/C,h/H,s/S : adjust brightness,contrast,hue and saturation.
'm'		: force SCM_MONO-operation
'g'		: force SCM_GREY-operation
'a'		: enable autodetect of SCM (scanner-mode)

Options are displayed on startup.Please note,that none of those keys is
available when scanning to a file (save-mode).This is because it might
change the basic parameters of the scanned image (like width or bpp) what
would confuse the saving-code (you can't use different line-widths in a
GIF).

Please note also,that GIF-compression is efficient but slow,especially when
encoding 1-bit GIFs you might need to draw the scanner quite slowly when
using the save-mode.

It is not needed that anyone rewrites the "bit-count-code" (I suggested that
for former versions),as this option will go away soon.

Bye, Andreas.

--
Andreas Beck		becka@hp.rz.uni-duesseldorf.de
Germany

**************************************************************************
Many thanks go to
Thomas Faehnle		Thomas.Faehnle@student.uni-ulm.de
**************************************************************************
