man-pages/man5/sane-pint.5.html
2021-03-31 01:06:50 +01:00

199 lines
5.9 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of sane-pint</TITLE>
</HEAD><BODY>
<H1>sane-pint</H1>
Section: SANE Scanner Access Now Easy (5)<BR>Updated: 14 Jul 2008<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="ixAAB"></A>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
sane-pint - SANE backend for scanners that use the PINT device driver
<A NAME="lbAC">&nbsp;</A>
<H2>DESCRIPTION</H2>
The
<B>sane-pint</B>
library implements a SANE (Scanner Access Now Easy) backend that
provides generic access to hand-held and flatbed scanners using the
PINT (PINT Is Not Twain) device driver. The PINT driver is being
actively developed on the OpenBSD platform, and has been ported to a
few other *nix-like operating systems.
<P>
PINT is designed to provide an
<B><A HREF="/cgi-bin/man/man2html?2+ioctl">ioctl</A></B>(2)
interface to many different scanner types. However, this backend has
only been tested with flatbed single-pass scanners, and more work will
probably be required to get it to use other scanner types
successfully.
<P>
If have successfully used the PINT driver with your scanner, but it
does not work using this SANE backend, please let us know. To do
this, send a mail with the relevant information for your scanner to
<I><A HREF="mailto:sane-devel@alioth-lists.debian.net">sane-devel@alioth-lists.debian.net</A></I>.
Have a look at <A HREF="http://www.sane-project.org/mailing-lists.html">http://www.sane-project.org/mailing-lists.html</A> concerning subscription
to sane-devel.
<P>
<A NAME="lbAD">&nbsp;</A>
<H2>DEVICE NAMES</H2>
This backend expects device names of the form:
<P>
<DL COMPACT><DT id="1"><DD>
<I>special</I>
</DL>
<P>
Where
<I>special</I>
is the UNIX path-name for the special device that corresponds to the
scanner. The special device name must be a PINT device or a symlink
to such a device. For example, under NetBSD or OpenBSD, such a device
name could be
<I>/dev/ss0</I>
or
<I>/dev/scan0</I>.
<A NAME="lbAE">&nbsp;</A>
<H2>CONFIGURATION</H2>
The contents of the
<I>pint.conf</I>.
file is a list of device names that correspond to PINT
scanners. Empty lines and lines starting with a hash mark (#) are
ignored. A sample configuration file is shown below:
<P>
<DL COMPACT><DT id="2"><DD>
/dev/scanner
<BR>
# this is a comment
<BR>
/dev/ss1
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>FILES</H2>
<DL COMPACT>
<DT id="3"><I>@CONFIGDIR@/pint.conf</I>
<DD>
The backend configuration file (see also description of
<B>SANE_CONFIG_DIR</B>
below).
<DT id="4"><I>@LIBDIR@/libsane-pint.a</I>
<DD>
The static library implementing this backend.
<DT id="5"><I>@LIBDIR@/libsane-pint.so</I>
<DD>
The shared library implementing this backend (present on systems that
support dynamic loading).
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>ENVIRONMENT</H2>
<DL COMPACT>
<DT id="6"><B>SANE_CONFIG_DIR</B>
<DD>
This environment variable specifies the list of directories that may
contain the configuration file. Under UNIX, the directories are
separated by a colon (`:'), under OS/2, they are separated by a
semi-colon (`;'). If this variable is not set, the configuration file
is searched in two default directories: first, the current working
directory (&quot;.&quot;) and then in @CONFIGDIR@. If the value of the
environment variable ends with the directory separator character, then
the default directories are searched after the explicitly specified
directories. For example, setting
<B>SANE_CONFIG_DIR</B>
to &quot;/tmp/config:&quot; would result in directories &quot;tmp/config&quot;, &quot;.&quot;, and
&quot;@CONFIGDIR@&quot; being searched (in this order).
<DT id="7"><B>SANE_DEBUG_PINT</B>
<DD>
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend. E.g.,
a value of 128 requests all debug output to be printed. Smaller
levels reduce verbosity.
</DL>
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<A HREF="/cgi-bin/man/man2html?7+sane">sane</A>(7)
<A NAME="lbAI">&nbsp;</A>
<H2>AUTHOR</H2>
Gordon Matzigkeit, adapted from existing backends written by David
Mosberger.
<A NAME="lbAJ">&nbsp;</A>
<H2>BUGS</H2>
<P>
There are minor roundoff errors when adjusting the ranges, since
PINT uses units of 1/1200 of an inch, and SANE normally uses
millimeters. Symptoms of these errors are skewed images. This should
really be fixed (no pun intended) as soon as possible, but I just
don't know/care enough about fixed-point representation and roundoff
errors to do this correctly. Workaround: use inches as the scanning
unit, and everything usually works fine.
<P>
The PINT 0.5e interface does not provide a way to determine valid
ranges for DPI, modes, and scan sizes. So, the SANE backend queries
the PINT device, and dynamically discovers valid ranges by doing a
binary search. This means that the driver takes longer to initialize
than seems necessary.
<P>
Resetting the scanner does not seem to work (at least not on my HP
ScanJet 4p). For that reason, the driver sends a SCIOCRESTART, then
gobbles up any remaining input until it hits EOF.
<P>
Not all of the scanners have been identified (i.e. whether they are
flatbed or handheld).
<P>
X and Y resolutions are assumed to be the same.
<P>
No testing has been done on three-pass or handheld scanners, or with
Automatic Document Feeder support.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="8"><A HREF="#lbAB">NAME</A><DD>
<DT id="9"><A HREF="#lbAC">DESCRIPTION</A><DD>
<DT id="10"><A HREF="#lbAD">DEVICE NAMES</A><DD>
<DT id="11"><A HREF="#lbAE">CONFIGURATION</A><DD>
<DT id="12"><A HREF="#lbAF">FILES</A><DD>
<DT id="13"><A HREF="#lbAG">ENVIRONMENT</A><DD>
<DT id="14"><A HREF="#lbAH">SEE ALSO</A><DD>
<DT id="15"><A HREF="#lbAI">AUTHOR</A><DD>
<DT id="16"><A HREF="#lbAJ">BUGS</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:05 GMT, March 31, 2021
</BODY>
</HTML>