mirror of
https://github.com/soukoku/ntwain.git
synced 2025-06-28 02:34:30 +08:00
Found some interesting stuff for kodak.
This commit is contained in:
parent
7e66da4016
commit
17ef99e4a2
1177
Spec/Kodak/GettingStarted.htm
Normal file
1177
Spec/Kodak/GettingStarted.htm
Normal file
File diff suppressed because it is too large
Load Diff
994
Spec/Kodak/TWAIN_DualStream.htm
Normal file
994
Spec/Kodak/TWAIN_DualStream.htm
Normal file
@ -0,0 +1,994 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=Generator content="Microsoft Word 10 (filtered)">
|
||||
<title>Single Document Multiple Images</title>
|
||||
|
||||
<style>
|
||||
<!--
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h1
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h3
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h4
|
||||
{margin-top:12.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
line-height:200%;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
font-size:8.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
pre
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:10.0pt;
|
||||
font-family:"Courier New";}
|
||||
p.style4, li.style4, div.style4
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;}
|
||||
p.style2, li.style2, div.style2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
@page Section1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 1.25in 1.0in 1.25in;}
|
||||
div.Section1
|
||||
{page:Section1;}
|
||||
/* List Definitions */
|
||||
ol
|
||||
{margin-bottom:0in;}
|
||||
ul
|
||||
{margin-bottom:0in;}
|
||||
-->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body lang=EN-US>
|
||||
|
||||
<div class=Section1>
|
||||
|
||||
<p class=MsoNormal><b><span style='font-family:Arial'>Single Document Multiple
|
||||
Images</span></b></p>
|
||||
|
||||
<p class=MsoNormal>25-Aug-2004</p>
|
||||
<p class=MsoNormal>Updated: 15-Aug-2006</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal><b><span style="font-family: Arial">Table of Contents</span></b></p>
|
||||
<blockquote>
|
||||
<p class=MsoNormal><b><span style='font-family:Arial'><a href="#OVERVIEW">Overview</a></span></b></p>
|
||||
<p class=MsoNormal><font size="3"><b><span style="font-family: Arial">
|
||||
<a href="#ICAP_PIXELTYPE_and_DAT_FILESYSTEM_Overview">ICAP_PIXELTYPE and
|
||||
DAT_FILESYSTEM Overview</a></span></b></font></p>
|
||||
<p class=MsoNormal><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a href="#ICAP_PIXELTYPE">
|
||||
ICAP_PIXELTYPE</a></span></b></p>
|
||||
<p class=MsoNormal><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a href="#DAT_FILESYSTEM">DAT_FILESYSTEM</a></span></b></p>
|
||||
<p class=MsoNormal><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'>
|
||||
<a href="#DAT_FILESYSTEM_vs._ICAP_PIXELTYPE">DAT_FILESYSTEM vs. ICAP_PIXELTYPE</a></span></b></p>
|
||||
<p class=MsoNormal><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'>
|
||||
<a href="#CAP_CAMERAENABLE_vs._CAP_DUPLEXENABLED">CAP_CAMERAENABLE vs. CAP_DUPLEXENABLED</a></span></b></p>
|
||||
<p class=MsoNormal><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a href="#CAP_CAMERAORDER">CAP_CAMERAORDER</a></span></b></p>
|
||||
<p class=MsoNormal><font size="3"><b><span style="font-family: Arial">
|
||||
<a href="#Entire_session_(i.e._machine)_vs._a_single_camera">Entire session
|
||||
(i.e. machine) vs. a single "camera"</a></span></b></font></p>
|
||||
<p class=MsoNormal><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a href="#METADATA">METADATA</a></span></b></p>
|
||||
</blockquote>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b><span style='font-family:Arial'><a name="OVERVIEW">Overview</a></span></b></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>This document talks about the Single Document Multiple
|
||||
Images (SDMI) behavior in TWAIN, describing how it is negotiated and what
|
||||
additional metadata associated with the image needs to be collected during
|
||||
image capture. Since this is a moderately complex subject a number of
|
||||
other capabilities that have uses beyond SDMI will be discussed as well.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>SDMI behavior is easy to view graphically:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Original
|
||||
Color Bitonal</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Document
|
||||
Image Image</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>+-------+
|
||||
+-------+ +-------+</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|
|
||||
| | | | |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <b><span
|
||||
style='color:red'>R</span></b> | | <b><span style='color:red'>R</span></b>
|
||||
| | <b>R</b> |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| |
|
||||
| | | |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <b><span
|
||||
style='color:lime'>G</span> </b> | ---> | <b><span style='color:lime'>G</span>
|
||||
</b> | + | <b>G </b> |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| |
|
||||
| | | |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <b><span
|
||||
style='color:blue'>B</span> </b> | | <b><span style='color:blue'>B</span>
|
||||
</b> | | <b>B </b> |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|
|
||||
| | | | |</span></p>
|
||||
|
||||
<pre><span style='font-size:8.0pt'>+-------+ +-------+ +-------+</span></pre><pre><span
|
||||
style='font-size:8.0pt'> </span></pre>
|
||||
|
||||
<p class=MsoNormal>In this example a color document results in the capture of
|
||||
two images, one that is color and one that is bitonal (black & white). Configurations of
|
||||
this form have a variety of applications, but the most common is when the
|
||||
application needs a faithful replication of the document for archival purposes
|
||||
and an image suitable for data collection, such as OCR.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>SDMI puts no limit on the number of images that can result
|
||||
from a document.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>SDMI is not the same as image segmentation. Image
|
||||
segmentation divides a document into sub-images that are optimized for quality
|
||||
and compression. In this example the driver could save the text images as
|
||||
Group-4 and the picture as JPEG:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Original</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>Document</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>+-------+</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| a
|
||||
bit | Segment 1 Segment 2 Segment 3</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|of
|
||||
text| Text Picture Text</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <span
|
||||
style='color:#CC99FF'>$#$#$</span> | +-------+ +-------+ +-------+</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <span
|
||||
style='color:#CC99FF'>#$#$#</span> | ---> | a bit | | <span
|
||||
style='color:#CC99FF'>#$#$#</span> | | more |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| <span
|
||||
style='color:#CC99FF'>$#$#$</span> | |of text| + | <span
|
||||
style='color:#CC99FF'>#$#$#</span> | + | text |</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>|
|
||||
more | +-------+ | <span style='color:#CC99FF'>#$#$#</span> | +-------+</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:8.0pt;font-family:"Courier New"'>| text
|
||||
| +-------+</span></p>
|
||||
|
||||
<pre><span style='font-size:8.0pt'>+-------+ </span></pre><pre> </pre>
|
||||
|
||||
<p class=MsoNormal>Image segmentation is typically used to efficiently store
|
||||
images. SDMI is used to capture images that are then directed to
|
||||
different parts of the workflow. It is possible to mix image segmentation
|
||||
with SDMI (ex: using image segmentation to produce the faithful replication
|
||||
image). The two technologies have different goals, though, so it’s not
|
||||
advisable to use one to replace the other.</p>
|
||||
|
||||
<pre> </pre>
|
||||
<pre> </pre><pre> </pre><pre><font size="3"><b><span style="font-family: Arial"><a name="ICAP_PIXELTYPE_and_DAT_FILESYSTEM_Overview">ICAP_PIXELTYPE and DAT_FILESYSTEM Overview</a></span></b></font></pre>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>TWAIN did not start with duplex scanning built into the
|
||||
standard; this was added in version 1.7. So prior to 1.7
|
||||
<a href="#ICAP_PIXELTYPE">ICAP_PIXELTYPE</a> selected the pixel type (i.e. color
|
||||
vs. grayscale vs. bitonal) for the entire session. This could also be considered
|
||||
the "color space". An application could configure a driver to output
|
||||
color or grayscale or bitonal images, but only one of the three, so you can not
|
||||
get multiple images for a side via ICAP_PIXELTYPE. </p>
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>TWAIN 1.8 introduced <a href="#DAT_FILESYSTEM">DAT_FILESYSTEM</a>. This
|
||||
allows an application to setup multiple images for a side. It also
|
||||
helps support setting of different values for the front and rear. For example,
|
||||
getting color on the front and grayscale on the rear.</p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal>To help maintain backwards compatibility, ICAP_PIXELTYPE needs to
|
||||
continue to apply to the entire session. This means ICAP_PIXELTYPE should
|
||||
never be negotiated with DAT_FILESYSTEM.</p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal> </p>
|
||||
<pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a name="ICAP_PIXELTYPE">ICAP_PIXELTYPE</a></span></b></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre>
|
||||
|
||||
<p class=MsoNormal>Setting ICAP_PIXELTYPE will set both the front and rear
|
||||
images to the given TWPT_ value and automatically set CAP_DUPLEXENABLED to true.
|
||||
Use ICAP_BITDEPTH to determine how many bits make a single pixel, such as 8 for 8-bit
|
||||
grayscale or 24 for 3-channel/8-bits-per-channel RGB. </p><pre> </pre>
|
||||
<pre> </pre>
|
||||
<pre> </pre>
|
||||
<pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a name="DAT_FILESYSTEM">DAT_FILESYSTEM</a></span></b></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre>
|
||||
|
||||
<p class=MsoNormal>DAT_FILESYSTEM addresses individual “cameras”. The term “camera” doesn’t
|
||||
mean that the image capture device uses a camera; rather it’s a generic term
|
||||
for an image capture source. DAT_FILESYSTEM calls the front side of the
|
||||
paper as the 'top' "camera", and the rear as 'bottom'. This doesn't have
|
||||
anything to do with the physical position of the camera, it is being used to describe what the user
|
||||
considers the top (i.e. front) of the sheet of paper versus the bottom (i.e. rear).</p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal>The driver will output images based on CAP_CAMERAENABLED. So
|
||||
while a "camera" can be individually set via DAT_FILESYSTEM, you must also set
|
||||
CAP_CAMERAENABLED to true for each "camera" you want the driver to actually
|
||||
produce.</p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal>The values for DAT_FILESYSTEM are typically:</p>
|
||||
|
||||
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
|
||||
style='border-collapse:collapse' id="table1">
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'><pre>Camera name</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'><pre>Side</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'><pre>Image</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Color_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>front</td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt' align="left">color or grayscale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Color_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>rear</td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt' align="left">color or grayscale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Color_Both</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>front and rear</td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt' align="left">color or grayscale</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Bitonal_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>front</td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt' align="left">bitonal</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Bitonal_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>rear</td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt' align="left">bitonal</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'><pre>/Camera_Bitonal_Both</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>front and rear</td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt' align="left">bitonal</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal>Using a camera that ends in '_Both' means future settings
|
||||
will be applied to both the front and rear images.</p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal><a href="TWAIN_FileSystem.htm">Sample source code</a></p>
|
||||
|
||||
<pre> </pre>
|
||||
<pre> </pre>
|
||||
<p class=MsoNormal> </p><pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a name="DAT_FILESYSTEM_vs._ICAP_PIXELTYPE">DAT_FILESYSTEM vs. ICAP_PIXELTYPE</a></span></b></pre><pre> </pre>
|
||||
|
||||
<p class=MsoNormal>If DAT_FILESYSTEM is set, then ICAP_PIXELTYPE must
|
||||
reflect the current value of the "camera". For instance, if DAT_FILESYSTEM
|
||||
is set to /Camera_Color_Both, then ICAP_PIXELTYPE should be set to TWPT_RGB
|
||||
(this is a basic sanity check for the driver to prevent DAT_FILESYSTEM and ICAP_PIXELTYPE from ever reporting conflicting values).</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>However, if ICAP_PIXELTYPE is set, then the following things
|
||||
must happen to DAT_FILESYSTEM and CAP_CAMERAENABLE:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>If ICAP_PIXELTYPE is set to
|
||||
|
||||
|
||||
TWPT_RGB</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>DAT_FILESYSTEM changes to
|
||||
|
||||
/Camera_Color_Both</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>CAP_CAMERAENABLE changes to:</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Top:
|
||||
|
||||
|
||||
TRUE</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Bottom:
|
||||
|
||||
TRUE</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Top: FALSE</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Bottom:
|
||||
FALSE</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>If ICAP_PIXELTYPE is set to
|
||||
|
||||
|
||||
TWPT_BW</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>DAT_FILESYSTEM changes to
|
||||
|
||||
/Camera_Bitonal_Both</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>CAP_CAMERAENABLE changes to:</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Top:
|
||||
|
||||
FALSE</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Color_Bottom:
|
||||
|
||||
FALSE</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Top:
|
||||
|
||||
TRUE</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:1.0in'>/Camera_Bitonal_Bottom:
|
||||
TRUE</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>The behavior guarantees that older applications and newer
|
||||
applications can work with the same driver. Application writers need to
|
||||
decide if they want to use ICAP_PIXELTYPE or DAT_FILESYSTEM
|
||||
when negotiating with a particular driver, never use both together. As a
|
||||
guideline, if DAT_FILESYSTEM are supported by a driver, use them,
|
||||
since they offer more functionality than ICAP_PIXELTYPE.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a name="CAP_CAMERAENABLE_vs._CAP_DUPLEXENABLED">CAP_CAMERAENABLE vs. CAP_DUPLEXENABLED</a></span></b></pre><pre> </pre>
|
||||
|
||||
<p class=MsoNormal>Care needs to be taken when mixing CAP_CAMERAENABLE and
|
||||
CAP_DUPLEXENABLED. The recommendation is to use one or the other. Here is an
|
||||
example of the interdependency:</p>
|
||||
<blockquote>
|
||||
<p class=MsoNormal>Table-1 shows an example of creating one color and one
|
||||
bitonal image from the front of every sheet of paper fed during the scanning
|
||||
session. In this case, CAP_DUPLEXENABLED would have been set to False.</p>
|
||||
<pre> </pre>
|
||||
<pre>Table-1</pre>
|
||||
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
|
||||
style='border-collapse:collapse' id="table2">
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>DAT_FILESYSTEM</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>CAP_CAMERAENABLE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Color_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Color_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>FALSE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Bitonal_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Bitonal_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>FALSE</pre></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal>If the application then sets CAP_DUPLEXENABLED to True, we
|
||||
would expect the table to change to the following:</p>
|
||||
<pre> </pre>
|
||||
<pre>Table-2</pre>
|
||||
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
|
||||
style='border-collapse:collapse'>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>DAT_FILESYSTEM</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>CAP_CAMERAENABLE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Color_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Color_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Bitonal_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Bitonal_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<pre> </pre>
|
||||
<p class=MsoNormal>NOTE: Rear only scanning is considered to be a special duplex
|
||||
operation. So for the following table CAP_DUPLEXENABLED would be True:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>Table-3</pre>
|
||||
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
|
||||
style='border-collapse:collapse'>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>DAT_FILESYSTEM</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>CAP_CAMERAENABLE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Color_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>FALSE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Color_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Bitonal_Top</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>FALSE</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=190 valign=top style='width:142.8pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre>/Camera_Bitonal_Bottom</pre></td>
|
||||
<td width=150 valign=top style='width:112.8pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<pre style='text-align:center'>TRUE</pre></td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
<pre> </pre>
|
||||
<pre> </pre>
|
||||
<pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a name="CAP_CAMERAORDER">CAP_CAMERAORDER</a></span></b></pre><pre> </pre>
|
||||
|
||||
<p class=MsoNormal>The output order of the images can be adjusted using
|
||||
CAP_CAMERAORDER (using the CAP_CAMERA TWCM_*_BOTH values). This is a TW_ARRAY
|
||||
container that has the name of each of the cameras in the order they will be
|
||||
transferred from the driver to the application. For example, if
|
||||
CAP_CAMERAORDER is set to TWCM_BW_BOTH TWCM_CL_BOTH, then the bitonal image
|
||||
will be transferred before the color image. For a duplex session this
|
||||
would look like the following:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> Bitonal Front</p>
|
||||
|
||||
<p class=MsoNormal> Color Front</p>
|
||||
|
||||
<p class=MsoNormal> Bitonal Rear</p>
|
||||
|
||||
<p class=MsoNormal> Color Rear</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>To simplify the validation rules between CAP_CAMERAENABLED and
|
||||
CAP_CAMERAORDER do the following:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>1)<span style='font-size:7.0pt'>
|
||||
</span>If CAP_CAMERAORDER includes a "camera" that is set to False, then the
|
||||
driver will ignore it.</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>2)<span style='font-size:7.0pt'>
|
||||
</span>If CAP_CAMERAORDER does not include a "camera" that is set to True,
|
||||
then the driver is free to output the images in whatever ordering it wants.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<pre> </pre>
|
||||
<pre><font size="3"><b><span style="font-family: Arial"><a name="Entire_session_(i.e._machine)_vs._a_single_camera">Entire session (i.e. machine) vs. a single "camera"</a></span></b></font></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre>
|
||||
|
||||
<p class=MsoNormal>The addition of independent front and rear capability
|
||||
negotiation immediately raises the question: which capabilities belong to the
|
||||
machine (like CAP_DUPLEX) and which ones belong to a "camera" (like CAP_COMPRESSION). There is no easy answer to this, since the hardware of
|
||||
the device dictates the capabilities. For instance scanner ABC may allow
|
||||
independent selection of ICAP_COMPRESSION for front and rear cameras because
|
||||
the designers put in dedicated compression chips for each side. Whereas
|
||||
scanner XYZ, in an effort to save costs, only used one chip for this operation,
|
||||
and they have no way to independently set the front from the rear for this one
|
||||
capability.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>So, to help figure out where each capability goes, Kodak
|
||||
scanners have enhancement DG_CONTROL / DAT_CAPABILITY /
|
||||
MSG_QUERYSUPPORT with additional TWQC_ flags:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'>
|
||||
<span style='font-size:10.0pt;
|
||||
font-family:"Courier New";color:blue'>#define</span><span style='font-size:
|
||||
10.0pt;font-family:"Courier New"'> TWQC_MACHINE
|
||||
0x1000 // applies to
|
||||
entire session/machine</span></p>
|
||||
<p class=MsoNormal style='margin-left:.5in'>
|
||||
<span style='font-size:10.0pt;
|
||||
font-family:"Courier New";color:blue'>#define</span><span style='font-size:
|
||||
10.0pt;font-family:"Courier New"'> TWQC_BITONAL
|
||||
0x2000 // applies to Bitonal "cameras"</span></p>
|
||||
<p class=MsoNormal style='margin-left:.5in'>
|
||||
<span style='font-size:10.0pt;
|
||||
font-family:"Courier New";color:blue'>#define</span><span style='font-size:
|
||||
10.0pt;font-family:"Courier New"'> TWQC_COLOR
|
||||
0x4000 // applies to Color "cameras"</span></p>
|
||||
<blockquote>
|
||||
<p class=MsoNormal>A
|
||||
capability cannot mix TWQC_MACHINE with any of the other items listed above; otherwise all
|
||||
combinations are valid (e.g. a capability could have TWQC_BITONAL and TWQC_COLOR).</p>
|
||||
<p class=MsoNormal> </p>
|
||||
<p class=MsoNormal>Capabilities
|
||||
that describe themselves as TWQC_MACHINE are accessible at all times,
|
||||
regardless of the current setting of DAT_FILESYSTEM. This
|
||||
means that a capability like CAP_DUPLEXENABLED can always be negotiated, (i.e.,
|
||||
even if the current camera is set to something like /Camera_Bitonal_Rear).</p>
|
||||
</blockquote>
|
||||
<pre> </pre><pre> </pre><pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'><a name="METADATA">METADATA</a></span></b></pre><pre> </pre>
|
||||
|
||||
<p class=MsoNormal>Metadata is the descriptive data that accompanies an
|
||||
image. TWAIN has two primary ways of communicating this information to an
|
||||
application: DAT_IMAGEINFO and DAT_EXTIMAGEINFO. Since DAT_EXTIMAGEINFO
|
||||
is extensible it’s the only way to introduce new metadata items to the TWAIN
|
||||
specification without creating a new DAT operation (and we don’t really need
|
||||
any more of those right now).</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>SDMI presents a bit of a problem for the application because
|
||||
the stream of images makes it difficult to tell which ones go with which
|
||||
document. This problem becomes compounded with things like
|
||||
automatic color detection (imagine not knowing if the
|
||||
application will get color or bitonal data on the next image).</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>Since the problem takes the form of a lack-of-communication
|
||||
problem, the solution is more data. With the Kodak drivers the following
|
||||
additional items are added to the list of DAT_EXTIMAGEINFO fields:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||||
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
|
||||
style='font-size:10.0pt;font-family:"Courier New"'>
|
||||
TWEI_HDR_PAGESIDE 0x8001</span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||||
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
|
||||
style='font-size:10.0pt;font-family:"Courier New"'>
|
||||
TWEI_HDR_IMAGENUMBER 0x8017</span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||||
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
|
||||
style='font-size:10.0pt;font-family:"Courier New"'>
|
||||
TWEI_HDR_PAGENUMBER 0x8018</span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
|
||||
style='font-size:10.0pt;font-family:"Courier New";color:blue'>#define</span><span
|
||||
style='font-size:10.0pt;font-family:"Courier New"'> TWEI_HDR_PAGEIMAGENUMBER
|
||||
0x8019</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>TWEI_HDR_PAGESIDE returns 0 for a front image and 1 for a
|
||||
rear image.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>TWEI_HDR_IMAGENUMBER counts from 1 to 2^32-1 the number of
|
||||
images captured since the application first MSG_OPENDS’d the driver.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>TWEI_HDR_PAGENUMBER counts from 1 to 2^32-1 the number of
|
||||
pages of paper captures since the application first MSG_OPENDS’d the driver.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>TWEI_HDR_PAGEIMAGENUMBER counts from 1 to the number of
|
||||
images captured from the document. For instance, given an SDMI session
|
||||
where the driver is transferring a color and a bitonal image for the front and
|
||||
a bitonal image for the rear we get the following sequence:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
|
||||
style='border-collapse:collapse'>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Image</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Page Side</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Image Number</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Page Number</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border:solid windowtext 1.0pt;
|
||||
border-left:none;background:#E0E0E0;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>PageImageNumber</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Color</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
|
||||
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>Front</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>1</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>1</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>1</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Bitonal</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
|
||||
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>Front</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>2</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>1</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>2</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Color</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
|
||||
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>Rear</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>3</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>1</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>3</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Color</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
|
||||
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>Front</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>4</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>2</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>1</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Bitonal</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
|
||||
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>Front</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>5</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>2</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>2</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=71 valign=top style='width:53.6pt;border:solid windowtext 1.0pt;
|
||||
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal>Color</p>
|
||||
</td>
|
||||
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
|
||||
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>Rear</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>6</p>
|
||||
</td>
|
||||
<td width=108 valign=top style='width:81.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>2</p>
|
||||
</td>
|
||||
<td width=132 valign=top style='width:99.0pt;border-top:none;border-left:
|
||||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||||
padding:0in 5.4pt 0in 5.4pt'>
|
||||
<p class=MsoNormal align=center style='text-align:center'>3</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<ul style='margin-top:0in' type=disc>
|
||||
<li class=MsoNormal>- note, if TWAIN standardizes on these names it will most
|
||||
likely lose the _HDR in the names.</li>
|
||||
</ul>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
5053
Spec/Kodak/TWAIN_ExtImageInfo.htm
Normal file
5053
Spec/Kodak/TWAIN_ExtImageInfo.htm
Normal file
File diff suppressed because it is too large
Load Diff
2707
Spec/Kodak/TWAIN_Features.htm
Normal file
2707
Spec/Kodak/TWAIN_Features.htm
Normal file
File diff suppressed because it is too large
Load Diff
254
Spec/Kodak/TWAIN_FileSystem.htm
Normal file
254
Spec/Kodak/TWAIN_FileSystem.htm
Normal file
@ -0,0 +1,254 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=Generator content="Microsoft Word 10 (filtered)">
|
||||
<title>Here is some sample code for how to change cameras using the DG_CONTROL
|
||||
/ DAT_FILESYSTEM operations</title>
|
||||
|
||||
<style>
|
||||
<!--
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h1
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
text-indent:0in;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
text-indent:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h3
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-indent:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h4
|
||||
{margin-top:12.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-indent:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
line-height:200%;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
font-size:8.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:10.0pt;
|
||||
font-family:"Courier New";}
|
||||
p.Style4, li.Style4, div.Style4
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
text-indent:0in;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;}
|
||||
p.Style2, li.Style2, div.Style2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
@page Section1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 65.95pt 1.0in 65.95pt;}
|
||||
div.Section1
|
||||
{page:Section1;}
|
||||
/* List Definitions */
|
||||
ol
|
||||
{margin-bottom:0in;}
|
||||
ul
|
||||
{margin-bottom:0in;}
|
||||
-->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body lang=EN-US>
|
||||
|
||||
<div class=Section1>
|
||||
|
||||
<p class=MsoPlainText style='margin-right:224.25pt'>Here is some sample code
|
||||
for how to change cameras using the DG_CONTROL / DAT_FILESYSTEM operations.</p>
|
||||
|
||||
<p class=MsoPlainText style='margin-right:224.25pt'> </p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>TW_FILESYSTEM fs;</p>
|
||||
|
||||
<p class=MsoPlainText>TW_STR255 cameraname[3];</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>// For loop used to discover available cameras...</p>
|
||||
|
||||
<p class=MsoPlainText>memset(cameraname,0,sizeof(cameraname));</p>
|
||||
|
||||
<p class=MsoPlainText>for (rc = (*pDSM_Entry)</p>
|
||||
|
||||
<p class=MsoPlainText> (&AppId,&SourceId,</p>
|
||||
|
||||
<p class=MsoPlainText> DG_CONTROL,</p>
|
||||
|
||||
<p class=MsoPlainText> DAT_FILESYSTEM,</p>
|
||||
|
||||
<p class=MsoPlainText> MSG_GETFIRSTFILE,(TW_MEMREF)&fs);</p>
|
||||
|
||||
<p class=MsoPlainText> rc == TWRC_SUCCESS;</p>
|
||||
|
||||
<p class=MsoPlainText> rc = (*pDSM_Entry)</p>
|
||||
|
||||
<p class=MsoPlainText> (&AppId,&SourceId,</p>
|
||||
|
||||
<p class=MsoPlainText> DG_CONTROL,</p>
|
||||
|
||||
<p class=MsoPlainText> DAT_FILESYSTEM,</p>
|
||||
|
||||
<p class=MsoPlainText> MSG_GETNEXTFILE,(TW_MEMREF)&fs)) {</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText> // This is the combined front / rear camera...</p>
|
||||
|
||||
<p class=MsoPlainText> // In each case, just take the first one we find...</p>
|
||||
|
||||
<p class=MsoPlainText> if (fs.FileType == TWFY_CAMERA) {</p>
|
||||
|
||||
<p class=MsoPlainText> if (!cameraname[0][0])
|
||||
strcpy(cameraname[0],fs.OutputName);</p>
|
||||
|
||||
<p class=MsoPlainText> // This is the front camera...</p>
|
||||
|
||||
<p class=MsoPlainText> } else if (fs.FileType == TWFY_CAMERA_TOP) {</p>
|
||||
|
||||
<p class=MsoPlainText> if (!cameraname[1][0])
|
||||
strcpy(cameraname[1],fs.OutputName);</p>
|
||||
|
||||
<p class=MsoPlainText> // This is the rear camera...</p>
|
||||
|
||||
<p class=MsoPlainText> } else if (fs.FileType == TWFY_CAMERA_BOTTOM) {</p>
|
||||
|
||||
<p class=MsoPlainText> if (!cameraname[2][0])
|
||||
strcpy(cameraname[2],fs.OutputName);</p>
|
||||
|
||||
<p class=MsoPlainText> }</p>
|
||||
|
||||
<p class=MsoPlainText>}</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>// Change to the front camera...</p>
|
||||
|
||||
<p class=MsoPlainText>strcpy(fs.InputName,cameraname[1]);</p>
|
||||
|
||||
<p class=MsoPlainText>rc = (*pDSM_Entry)</p>
|
||||
|
||||
<p class=MsoPlainText> (&AppId,&SourceId,</p>
|
||||
|
||||
<p class=MsoPlainText> DG_CONTROL,</p>
|
||||
|
||||
<p class=MsoPlainText> DAT_FILESYSTEM,</p>
|
||||
|
||||
<p class=MsoPlainText> MSG_CHANGEDIRECTORY,(TW_MEMREF)&fs);</p>
|
||||
|
||||
<p class=MsoPlainText>// Set some front capabilities, like ICAP_CONTRAST</p>
|
||||
|
||||
<p class=MsoPlainText>...</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>// Change to the rear camera...</p>
|
||||
|
||||
<p class=MsoPlainText>strcpy(fs.InputName,cameraname[2]);</p>
|
||||
|
||||
<p class=MsoPlainText>rc = (*pDSM_Entry)</p>
|
||||
|
||||
<p class=MsoPlainText> (&AppId,&SourceId,</p>
|
||||
|
||||
<p class=MsoPlainText> DG_CONTROL,</p>
|
||||
|
||||
<p class=MsoPlainText> DAT_FILESYSTEM,</p>
|
||||
|
||||
<p class=MsoPlainText> MSG_CHANGEDIRECTORY,(TW_MEMREF)&fs);</p>
|
||||
|
||||
<p class=MsoPlainText>// Set some rear capabilities, like ICAP_CONTRAST</p>
|
||||
|
||||
<p class=MsoPlainText>...</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>// Change back to the combined camera (have to do</p>
|
||||
|
||||
<p class=MsoPlainText>// this before scanning starts, but can also do</p>
|
||||
|
||||
<p class=MsoPlainText>// this to simultaneously change front and rear</p>
|
||||
|
||||
<p class=MsoPlainText>// values). Note that this is the default camera</p>
|
||||
|
||||
<p class=MsoPlainText>// when the Source is first started...</p>
|
||||
|
||||
<p class=MsoPlainText>strcpy(fs.InputName,cameraname[0]);</p>
|
||||
|
||||
<p class=MsoPlainText>rc = (*pDSM_Entry)</p>
|
||||
|
||||
<p class=MsoPlainText> (&AppId,&SourceId,</p>
|
||||
|
||||
<p class=MsoPlainText> DG_CONTROL,</p>
|
||||
|
||||
<p class=MsoPlainText> DAT_FILESYSTEM,</p>
|
||||
|
||||
<p class=MsoPlainText> MSG_CHANGEDIRECTORY,(TW_MEMREF)&fs);</p>
|
||||
|
||||
<p class=MsoPlainText>...</p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
1099
Spec/Kodak/TWAIN_Internationalization.htm
Normal file
1099
Spec/Kodak/TWAIN_Internationalization.htm
Normal file
File diff suppressed because it is too large
Load Diff
11368
Spec/Kodak/TWAIN_ProgrammaticControl.htm
Normal file
11368
Spec/Kodak/TWAIN_ProgrammaticControl.htm
Normal file
File diff suppressed because it is too large
Load Diff
2817
Spec/Kodak/TWAIN_ProgrammaticPrinting.htm
Normal file
2817
Spec/Kodak/TWAIN_ProgrammaticPrinting.htm
Normal file
File diff suppressed because it is too large
Load Diff
218
Spec/Kodak/TWAIN_ScannerIdentification.htm
Normal file
218
Spec/Kodak/TWAIN_ScannerIdentification.htm
Normal file
@ -0,0 +1,218 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=Generator content="Microsoft Word 10 (filtered)">
|
||||
<title>Correct TWAIN Usage</title>
|
||||
|
||||
<style>
|
||||
<!--
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h1
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h3
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h4
|
||||
{margin-top:12.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoHeader, li.MsoHeader, div.MsoHeader
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoFooter, li.MsoFooter, div.MsoFooter
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
line-height:200%;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
font-size:8.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
pre
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:10.0pt;
|
||||
font-family:"Courier New";}
|
||||
p.style4, li.style4, div.style4
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;}
|
||||
p.style2, li.style2, div.style2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
@page Section1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 1.25in 1.0in 1.25in;}
|
||||
div.Section1
|
||||
{page:Section1;}
|
||||
-->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body lang=EN-US>
|
||||
|
||||
<div class=Section1><pre> </pre><pre> </pre><pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'>Correct TWAIN Usage</span></b></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>We recommend against applications identifying scanner models. TWAIN is designed to expose functionality through capability negotiation. Writing applications that use functionality based on a model number makes it harder to maintain the code as new models come out that mix that functionality. For example:</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'> Model 100 has features A, B, C</span></pre><pre><span
|
||||
style='font-family:Arial'> Model 200 has features A, X, Y</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'> Code is written as follows:</span></pre><pre><span
|
||||
style='font-family:Arial'> Always use A</span></pre><pre><span
|
||||
style='font-family:Arial'> If (100) use B, C</span></pre><pre><span
|
||||
style='font-family:Arial'> If (200) use X, Y</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'> A new model 300 has features D, C, X</span></pre><pre><span
|
||||
style='font-family:Arial'> If (100 200) use A</span></pre><pre><span
|
||||
style='font-family:Arial'> If (100) use B, C</span></pre><pre><span
|
||||
style='font-family:Arial'> If (200) use X, Y</span></pre><pre><span
|
||||
style='font-family:Arial'> If (300) use C, X</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>There are other ways to code this, but they all get unwieldy over time. The preferred method is:</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'> If A is supported use A</span></pre><pre><span
|
||||
style='font-family:Arial'> If B is supported use B</span></pre><pre><span
|
||||
style='font-family:Arial'> If C is supported use C</span></pre><pre><span
|
||||
style='font-family:Arial'> If X is supported use X</span></pre><pre><span
|
||||
style='font-family:Arial'> If Y is supported use Y</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>In TWAIN a capability is tested for support using DG_CONTROL / DAT_CAPABILITY / MSG_QUERYSUPPORT.</span></pre><pre> </pre><pre> </pre><pre
|
||||
style='page-break-before:always'> </pre><pre> </pre><pre><b><span
|
||||
style='font-size:12.0pt;font-family:Arial'>Alternative TWAIN Usage</span></b></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>Every effort is made to make sure that the standard TWAIN capabilities are presented in a consistent fashion across all scanner models. Unfortunately, this same requirement is harder to enforce for the custom driver features. In situations like this it may be easier to identify a group of functions by associating them with a model number.</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>Before performing any custom operation an application must unambiguously identify the driver. For all KDS drivers this is done by examining the TW_IDENTITY returned by the DG_CONTROL / DAT_PARENT / MSG_OPENDS, and looking for the following:</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'> Manufacturer "Eastman Kodak Company"</span></pre><pre><span
|
||||
style='font-family:Arial'> Version.Info "KDS v#.#.# YYYY/MM/DD"</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>This information does not apply to the 1500/2500 or the i50/i60/i80. These scanner models use different drivers, so one or both of the above fields will be different.</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>KDS Version 5/6.x drivers and higher report a specific scanner model through DG_CONTROL / DAT_DEVICEINFO/ MSG_GET when it is called in State 4 or higher. The model information is returned in the TW_DEVICEINFO.dwModelNumber or TW_DEVICEINFO.szModelName field. This is a custom feature of our driver.</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>KDS Version 4.x drivers and higher report a specific scanner model through DG_CONTROL / DAT_IDENTITY / MSG_GET when it is called in State 4 or higher. The model information is returned in the TW_IDENTITY.ProductName field. This is a custom feature of our driver. </span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>KDS Version 3.x, 2.x and 1.x drivers do not support this feature, so it is necessary to use another method to identify the scanner model. The technique involves the systematic examination of standard and custom capabilities. The pseudo-code for this is provided below.</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>Note that it is not possible in all situations to uniquely identify all models in this way. However, from the viewpoint of the driver all of the models grouped in a section support exactly the same operations and capabilities, so for the purpose of testing for functionality, this technique is sufficient.</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre style='page-break-before:
|
||||
always'><span style='font-family:Arial'> </span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>if CAP_MODE supported: 5xx/9xx/5xxx/7xxx/9xxx</span></pre><pre><span
|
||||
style='font-family:Arial'> if ICAP_FRAMELENGTHCONTROL supported</span></pre><pre><span
|
||||
style='font-family:Arial'> if CAP_PRINTERENABLED supported</span></pre><pre><span
|
||||
style='font-family:Arial'> if ICAP_XRESOLUTION includes 400 dpi</span></pre><pre><span
|
||||
style='font-family:Arial'> 500/7560</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> 500A/5520/7520</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> if ICAP_XRESOLUTION includes 400 dpi</span></pre><pre><span
|
||||
style='font-family:Arial'> 500/7550</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> 500A/5500/7500</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> if ICAP_XRESOLUTION includes 300</span></pre><pre><span
|
||||
style='font-family:Arial'> 900/923/9500/9520</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> 990</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>else if CAP_IMAGEADDRESS supported: 8xx</span></pre><pre><span
|
||||
style='font-family:Arial'> if ICAP_PIXELTYPE includes TWPT_RGB</span></pre><pre><span
|
||||
style='font-family:Arial'> i820/i840</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> if ICAP_XRESOLUTION includes 400 dpi</span></pre><pre><span
|
||||
style='font-family:Arial'> i830</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> i810</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>else it must be mid-volume: 3xxx/4xxx</span></pre><pre><span
|
||||
style='font-family:Arial'> if CAP_ENABLECOLORPATCHCODE supported</span></pre><pre><span
|
||||
style='font-family:Arial'> 3590</span></pre><pre><span
|
||||
style='font-family:Arial'> else if ICAP_PIXELTYPE includes TWPT_RGB</span></pre><pre><span
|
||||
style='font-family:Arial'> 4500</span></pre><pre><span
|
||||
style='font-family:Arial'> else if CAP_AUTOMATICBORDERDETECTION supported</span></pre><pre><span
|
||||
style='font-family:Arial'> 3520</span></pre><pre><span
|
||||
style='font-family:Arial'> else if CAP_MULTIFEEDTHICKNESSDETECTION supported</span></pre><pre><span
|
||||
style='font-family:Arial'> 3510</span></pre><pre><span
|
||||
style='font-family:Arial'> else</span></pre><pre><span
|
||||
style='font-family:Arial'> 3500</span></pre><pre><span
|
||||
style='font-family:Arial'> endif</span></pre><pre><span
|
||||
style='font-family:Arial'> </span></pre><pre><span style='font-family:
|
||||
Arial'>endif</span></pre>
|
||||
|
||||
<p class=MsoNormal><span style='font-family:Arial'> </span></p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
897
Spec/Kodak/debugging.htm
Normal file
897
Spec/Kodak/debugging.htm
Normal file
@ -0,0 +1,897 @@
|
||||
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
||||
xmlns:o="urn:schemas-microsoft-com:office:office"
|
||||
xmlns:w="urn:schemas-microsoft-com:office:word"
|
||||
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
|
||||
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
|
||||
xmlns="http://www.w3.org/TR/REC-html40">
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=ProgId content=Word.Document>
|
||||
<meta name=Generator content="Microsoft Word 12">
|
||||
<meta name=Originator content="Microsoft Word 12">
|
||||
<link rel=File-List href="debugging_files/filelist.xml">
|
||||
<title>Kodak KDS TWAIN Driver</title>
|
||||
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
|
||||
name="place"/>
|
||||
<!--[if gte mso 9]><xml>
|
||||
<o:DocumentProperties>
|
||||
<o:Author>50484369</o:Author>
|
||||
<o:LastAuthor>50484369</o:LastAuthor>
|
||||
<o:Revision>4</o:Revision>
|
||||
<o:TotalTime>4</o:TotalTime>
|
||||
<o:Created>2012-06-20T19:36:00Z</o:Created>
|
||||
<o:LastSaved>2012-07-03T14:06:00Z</o:LastSaved>
|
||||
<o:Pages>2</o:Pages>
|
||||
<o:Words>907</o:Words>
|
||||
<o:Characters>5176</o:Characters>
|
||||
<o:Company>Microsoft</o:Company>
|
||||
<o:Lines>43</o:Lines>
|
||||
<o:Paragraphs>12</o:Paragraphs>
|
||||
<o:CharactersWithSpaces>6071</o:CharactersWithSpaces>
|
||||
<o:Version>12.00</o:Version>
|
||||
</o:DocumentProperties>
|
||||
</xml><![endif]-->
|
||||
<link rel=themeData href="debugging_files/themedata.thmx">
|
||||
<link rel=colorSchemeMapping href="debugging_files/colorschememapping.xml">
|
||||
<!--[if gte mso 9]><xml>
|
||||
<w:WordDocument>
|
||||
<w:SpellingState>Clean</w:SpellingState>
|
||||
<w:TrackMoves>false</w:TrackMoves>
|
||||
<w:TrackFormatting/>
|
||||
<w:ValidateAgainstSchemas/>
|
||||
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
|
||||
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
|
||||
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
|
||||
<w:DoNotPromoteQF/>
|
||||
<w:LidThemeOther>EN-US</w:LidThemeOther>
|
||||
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
|
||||
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
|
||||
<w:Compatibility>
|
||||
<w:BreakWrappedTables/>
|
||||
<w:SnapToGridInCell/>
|
||||
<w:WrapTextWithPunct/>
|
||||
<w:UseAsianBreakRules/>
|
||||
<w:DontGrowAutofit/>
|
||||
<w:SplitPgBreakAndParaMark/>
|
||||
<w:DontVertAlignCellWithSp/>
|
||||
<w:DontBreakConstrainedForcedTables/>
|
||||
<w:DontVertAlignInTxbx/>
|
||||
<w:Word11KerningPairs/>
|
||||
<w:CachedColBalance/>
|
||||
</w:Compatibility>
|
||||
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
||||
<m:mathPr>
|
||||
<m:mathFont m:val="Cambria Math"/>
|
||||
<m:brkBin m:val="before"/>
|
||||
<m:brkBinSub m:val="--"/>
|
||||
<m:smallFrac m:val="off"/>
|
||||
<m:dispDef/>
|
||||
<m:lMargin m:val="0"/>
|
||||
<m:rMargin m:val="0"/>
|
||||
<m:defJc m:val="centerGroup"/>
|
||||
<m:wrapIndent m:val="1440"/>
|
||||
<m:intLim m:val="subSup"/>
|
||||
<m:naryLim m:val="undOvr"/>
|
||||
</m:mathPr></w:WordDocument>
|
||||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||||
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
|
||||
DefSemiHidden="false" DefQFormat="false" LatentStyleCount="267">
|
||||
<w:LsdException Locked="false" QFormat="true" Name="Normal"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="heading 1"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="heading 2"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="heading 3"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="heading 4"/>
|
||||
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
|
||||
QFormat="true" Name="heading 5"/>
|
||||
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
|
||||
QFormat="true" Name="heading 6"/>
|
||||
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
|
||||
QFormat="true" Name="heading 7"/>
|
||||
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
|
||||
QFormat="true" Name="heading 8"/>
|
||||
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
|
||||
QFormat="true" Name="heading 9"/>
|
||||
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
|
||||
QFormat="true" Name="caption"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="Title"/>
|
||||
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="Subtitle"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="Strong"/>
|
||||
<w:LsdException Locked="false" QFormat="true" Name="Emphasis"/>
|
||||
<w:LsdException Locked="false" Priority="99" Name="No List"/>
|
||||
<w:LsdException Locked="false" Priority="99" SemiHidden="true"
|
||||
Name="Placeholder Text"/>
|
||||
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="99" SemiHidden="true" Name="Revision"/>
|
||||
<w:LsdException Locked="false" Priority="34" QFormat="true"
|
||||
Name="List Paragraph"/>
|
||||
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
|
||||
<w:LsdException Locked="false" Priority="30" QFormat="true"
|
||||
Name="Intense Quote"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="19" QFormat="true"
|
||||
Name="Subtle Emphasis"/>
|
||||
<w:LsdException Locked="false" Priority="21" QFormat="true"
|
||||
Name="Intense Emphasis"/>
|
||||
<w:LsdException Locked="false" Priority="31" QFormat="true"
|
||||
Name="Subtle Reference"/>
|
||||
<w:LsdException Locked="false" Priority="32" QFormat="true"
|
||||
Name="Intense Reference"/>
|
||||
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
|
||||
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
|
||||
UnhideWhenUsed="true" Name="Bibliography"/>
|
||||
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
|
||||
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
|
||||
</w:LatentStyles>
|
||||
</xml><![endif]--><!--[if !mso]><object
|
||||
classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
|
||||
<style>
|
||||
st1\:*{behavior:url(#ieooui) }
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style>
|
||||
<!--
|
||||
/* Font Definitions */
|
||||
@font-face
|
||||
{font-family:SimSun;
|
||||
panose-1:2 1 6 0 3 1 1 1 1 1;
|
||||
mso-font-alt:\5B8B\4F53;
|
||||
mso-font-charset:134;
|
||||
mso-generic-font-family:auto;
|
||||
mso-font-pitch:variable;
|
||||
mso-font-signature:3 680460288 22 0 262145 0;}
|
||||
@font-face
|
||||
{font-family:"Cambria Math";
|
||||
panose-1:2 4 5 3 5 4 6 3 2 4;
|
||||
mso-font-charset:0;
|
||||
mso-generic-font-family:roman;
|
||||
mso-font-pitch:variable;
|
||||
mso-font-signature:-536870145 1107305727 0 0 415 0;}
|
||||
@font-face
|
||||
{font-family:"\@SimSun";
|
||||
panose-1:2 1 6 0 3 1 1 1 1 1;
|
||||
mso-font-charset:134;
|
||||
mso-generic-font-family:auto;
|
||||
mso-font-pitch:variable;
|
||||
mso-font-signature:3 680460288 22 0 262145 0;}
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-parent:"";
|
||||
margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:SimSun;}
|
||||
h1
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 1 Char";
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:1;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h2
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 2 Char";
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:2;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h3
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 3 Char";
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:3;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h4
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 4 Char";
|
||||
margin-top:12.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:4;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
|
||||
{mso-style-unhide:no;
|
||||
mso-style-link:"Body Text 2 Char";
|
||||
margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
line-height:200%;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:SimSun;}
|
||||
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
|
||||
{mso-style-unhide:no;
|
||||
mso-style-link:"Body Text 3 Char";
|
||||
margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:8.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:SimSun;}
|
||||
span.Heading1Char
|
||||
{mso-style-name:"Heading 1 Char";
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 1";
|
||||
mso-ansi-font-size:14.0pt;
|
||||
mso-bidi-font-size:14.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#365F91;
|
||||
mso-themecolor:accent1;
|
||||
mso-themeshade:191;
|
||||
font-weight:bold;}
|
||||
span.Heading2Char
|
||||
{mso-style-name:"Heading 2 Char";
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 2";
|
||||
mso-ansi-font-size:13.0pt;
|
||||
mso-bidi-font-size:13.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#4F81BD;
|
||||
mso-themecolor:accent1;
|
||||
font-weight:bold;}
|
||||
span.Heading3Char
|
||||
{mso-style-name:"Heading 3 Char";
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 3";
|
||||
mso-ansi-font-size:12.0pt;
|
||||
mso-bidi-font-size:12.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#4F81BD;
|
||||
mso-themecolor:accent1;
|
||||
font-weight:bold;}
|
||||
span.Heading4Char
|
||||
{mso-style-name:"Heading 4 Char";
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 4";
|
||||
mso-ansi-font-size:12.0pt;
|
||||
mso-bidi-font-size:12.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#4F81BD;
|
||||
mso-themecolor:accent1;
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
span.BodyText2Char
|
||||
{mso-style-name:"Body Text 2 Char";
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Body Text 2";
|
||||
mso-ansi-font-size:12.0pt;
|
||||
mso-bidi-font-size:12.0pt;
|
||||
font-family:SimSun;
|
||||
mso-ascii-font-family:SimSun;
|
||||
mso-fareast-font-family:SimSun;
|
||||
mso-hansi-font-family:SimSun;}
|
||||
span.BodyText3Char
|
||||
{mso-style-name:"Body Text 3 Char";
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Body Text 3";
|
||||
mso-ansi-font-size:8.0pt;
|
||||
mso-bidi-font-size:8.0pt;
|
||||
font-family:SimSun;
|
||||
mso-ascii-font-family:SimSun;
|
||||
mso-fareast-font-family:SimSun;
|
||||
mso-hansi-font-family:SimSun;}
|
||||
p.style4, li.style4, div.style4
|
||||
{mso-style-name:style4;
|
||||
mso-style-unhide:no;
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:SimSun;
|
||||
font-weight:bold;}
|
||||
p.style2, li.style2, div.style2
|
||||
{mso-style-name:style2;
|
||||
mso-style-unhide:no;
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:SimSun;
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
span.SpellE
|
||||
{mso-style-name:"";
|
||||
mso-spl-e:yes;}
|
||||
.MsoChpDefault
|
||||
{mso-style-type:export-only;
|
||||
mso-default-props:yes;
|
||||
font-size:10.0pt;
|
||||
mso-ansi-font-size:10.0pt;
|
||||
mso-bidi-font-size:10.0pt;}
|
||||
@page WordSection1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 1.25in 1.0in 1.25in;
|
||||
mso-header-margin:.5in;
|
||||
mso-footer-margin:.5in;
|
||||
mso-paper-source:0;}
|
||||
div.WordSection1
|
||||
{page:WordSection1;}
|
||||
-->
|
||||
</style>
|
||||
<!--[if gte mso 10]>
|
||||
<style>
|
||||
/* Style Definitions */
|
||||
table.MsoNormalTable
|
||||
{mso-style-name:"Table Normal";
|
||||
mso-tstyle-rowband-size:0;
|
||||
mso-tstyle-colband-size:0;
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-parent:"";
|
||||
mso-padding-alt:0in 5.4pt 0in 5.4pt;
|
||||
mso-para-margin:0in;
|
||||
mso-para-margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:10.0pt;
|
||||
font-family:"Times New Roman","serif";}
|
||||
</style>
|
||||
<![endif]--><!--[if gte mso 9]><xml>
|
||||
<o:shapedefaults v:ext="edit" spidmax="3074"/>
|
||||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||||
<o:shapelayout v:ext="edit">
|
||||
<o:idmap v:ext="edit" data="1"/>
|
||||
</o:shapelayout></xml><![endif]-->
|
||||
</head>
|
||||
|
||||
<body lang=EN-US style='tab-interval:.5in'>
|
||||
|
||||
<div class=WordSection1>
|
||||
|
||||
<p class=MsoNormal>Kodak KDS TWAIN Driver</p>
|
||||
|
||||
<p class=MsoNormal>Debugging Guide</p>
|
||||
|
||||
<p class=MsoNormal>03-July-2012</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>Contents</span></u></b></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:14.0pt'>
|
||||
1.0 Overview</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:14.0pt'>
|
||||
2.0 Finding the Driver Files</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:14.0pt'>
|
||||
3.0 Configuring the System</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:14.0pt'>
|
||||
4.0 Dumping the Data Files</span></p>
|
||||
|
||||
<p class=MsoNormal><span style='font-size:14.0pt'>
|
||||
5.0 Dumping the Image Files</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>1.0
|
||||
Overview</span></u></b></p>
|
||||
|
||||
<p class=MsoNormal>If sending information to Kodak about the TWAIN driver, we
|
||||
recommend including log data, which will result in a quicker diagnosis.
|
||||
This document should be helpful to select what to send. If in doubt, send
|
||||
everything you can.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>The TWAIN driver debugs most problems through its logging
|
||||
system. This logging system is reasonably sophisticated, and can be
|
||||
configured to focus on specific areas, as needed. The most common kinds
|
||||
of logging configurations are as follows:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><u>Logging everything</u>: recording all activity.
|
||||
Occasionally this is the best way to capture needed information, especially if
|
||||
the problem is easily reproducible, but not obviously a problem with either the
|
||||
application or the scanner. Logs generated this way tend to be very
|
||||
large, and full of a lot of information. (<b>Debug=1</b>)</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><st1:place w:st="on"><u>Flushing</u></st1:place><u> to disk</u>:
|
||||
best when analyzing crashes. Disk drives rely on caches to boost
|
||||
performance, however, when programs crash they may strand vital information in
|
||||
those caches. If an application crash is easily reproducible, then it’s
|
||||
possible to flush every log entry to disk. This is typically used when
|
||||
logging everything, so the log files are very large and the application and
|
||||
driver performance is very slow. (<b>Debug=7</b>)</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><u>Database Dumping</u>: (5.x only) used to take a snapshot
|
||||
of the main database elements in the driver. (<b>Debug=256</b>)</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><u>Image Dumping</u>: used to capture images as soon as they
|
||||
are transferred from the scanner, and before they are processed or passed to
|
||||
the application.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>2.0
|
||||
Finding the Driver Files</span></u></b></p>
|
||||
|
||||
<p class=MsoNormal>All Kodak TWAIN driver files are accessible through the
|
||||
following path:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='text-indent:.5in'><b>%winbootdir%\twain_32\kodak</b></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>Where <b>%<span class=SpellE>winbootdir</span>%</b> is the
|
||||
path to the Windows directory, which is usually either C:\WINDOWS or
|
||||
C:\WINNT. If you are not sure what this is you can do the following to
|
||||
find it out. This works for all versions of Windows.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>1)<span
|
||||
style='font-size:7.0pt'> </span>Click on START</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>2)<span
|
||||
style='font-size:7.0pt'> </span>Select RUN</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>3)<span
|
||||
style='font-size:7.0pt'> </span>Type in COMMAND
|
||||
and hit the Enter key</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>4)<span
|
||||
style='font-size:7.0pt'> </span>Type SET in the
|
||||
DOS window</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in'>5)<span
|
||||
style='font-size:7.0pt'> </span>Look for
|
||||
WINBOOTDIR</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>When you look in the <b>%winbootdir%\twain_32\kodak</b> you
|
||||
may see several directories and files. Look for anything beginning with
|
||||
the letters KDS; these contain the Kodak TWAIN drivers. Pick the one that
|
||||
matches your scanner. You can find the version at the top of the <b>readme.txt</b>
|
||||
file.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'>kds_i30_i40 - Version 6.x i30/i40 driver</span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'>kds_i100 - Version
|
||||
6.x i100 driver</span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'>kds_i200 - Version
|
||||
4.x i200 driver</span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'>kds_i600 - Version
|
||||
5.x or 6.x i600 driver</span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><span lang=IT style='mso-ansi-language:
|
||||
IT'>kds_i800 - Version
|
||||
4.x or 6.x i800 driver</span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i1200 - Version 7.x i1200
|
||||
driver</span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i1300 - Version 7.x i1300
|
||||
driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>
|
||||
<span lang=IT style='mso-ansi-language:IT'>kds_i1400 -
|
||||
Version 9.x i1400 driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i1800 - Version 8.x i1800
|
||||
driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i1100 - Version 9.x i1100
|
||||
driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i700 - Version 9.x
|
||||
i700 driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i4200_i4600 - Version 10.x i4000 driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i5000 - Version 11.x i5000 driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i2000 - Version 11.x i2000 driver</span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i900 - Version 11.x
|
||||
i900 driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i2900 - Version 12.x i2900 driver</span></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_i3000 - Version 12.x i3000 driver</span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'>
|
||||
kds_pss<span style='mso-spacerun:yes'> </span>
|
||||
- Version 12.x PS50/PS80 driver</span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal><span lang=IT style='mso-ansi-language:IT'> </span></p>
|
||||
|
||||
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>3.0
|
||||
Configuring the System</span></u></b></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>If you are using a 2/3.x driver, then edit the <b>const.ini</b>
|
||||
file. If you are using a 4/5/6.x driver, then click on the file called <b>a
|
||||
shortcut to const.ini </b>to edit the file.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>Inside of this file you will find two values near the top.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b>
|
||||
Debug=0</b></p>
|
||||
|
||||
<p class=MsoNormal><b>
|
||||
<span class=SpellE>DebugFilter</span>=</b></p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>These are the switches used to configure the Kodak TWAIN
|
||||
driver logging system. By default they are turned off, so that the driver
|
||||
will only record a small amount of information in the event of an error.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>The recommended values for <b>Debug</b> are as follows:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><b>Debug=0</b>
|
||||
- record nothing but errors</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><b>Debug=1</b>
|
||||
- record everything</p>
|
||||
|
||||
<p class=MsoNormal style='text-indent:.5in'><b>Debug=7</b>
|
||||
- record everything and flush to disk</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><b>Debug=64</b>
|
||||
- record just the memory usage</p>
|
||||
|
||||
<p class=MsoNormal style='margin-left:.5in'><b>Debug=256</b>
|
||||
- (5.x only) dump the data files</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>4.0
|
||||
Dumping the Data Files</span></u></b></p>
|
||||
|
||||
<p class=MsoNormal>This is available with the version 5/6.x drivers. If
|
||||
there is doubt about the state of the database or the language files or the
|
||||
device configuration data, then it is possible to dump those files at the start
|
||||
of the session. This is done by setting <b>Debug=256</b> in the <b>const.ini</b>
|
||||
file.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>The files all start with the letters <b>KDS</b> and are
|
||||
placed in the user’s temp directory. Unfortunately, there is no single,
|
||||
common way to find this directory across all versions of Windows, so rather
|
||||
than try to describe how it’s done for each OS, we recommend that you search on
|
||||
your Windows OS disk (usually C:\) for all occurrences of <b>KDS*.TXT, </b>finding
|
||||
the files:</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>
|
||||
KdsDbFixed.txt</p>
|
||||
|
||||
<p class=MsoNormal style='text-indent:.5in'>KdsDeviceConfig.txt</p>
|
||||
|
||||
<p class=MsoNormal style='text-indent:.5in'>KdsLabel.txt</p>
|
||||
|
||||
<p class=MsoNormal style='text-indent:.5in'>KdsLookupGui.txt</p>
|
||||
|
||||
<p class=MsoNormal style='text-indent:.5in'>KdsLookupTwain.txt</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>So, if you’re looking for everything possible to send when
|
||||
looking for help, feel free to include these files.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal><b><u><span style='font-size:14.0pt'>5.0
|
||||
Dumping the Image Files</span></u></b></p>
|
||||
|
||||
<p class=MsoNormal>Not all drivers support this, but those that do will show a Dump
|
||||
tab in the TWAIN GUI when it is run from the Scanner Validation Tool (SVT), if
|
||||
the user has the right license level.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>You have to contact Kodak to get a license.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>For all scanners the tab offers a way to write images to
|
||||
disk before they are passed up to the application.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>The first option provides a way to guarantee that the
|
||||
transfer of the image from the driver to the application did not change it in
|
||||
any way.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal>The second option dumps the data before it is processed by
|
||||
the driver. This ‘raw’ image is the one that we would want to see if
|
||||
there are questions about image quality. It’s also the image you need to
|
||||
use if you want to feed it back into the driver using the simulator.</p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
<p class=MsoNormal> </p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
4520
Spec/Kodak/faq.htm
Normal file
4520
Spec/Kodak/faq.htm
Normal file
File diff suppressed because it is too large
Load Diff
3846
Spec/Kodak/kdscust.h
Normal file
3846
Spec/Kodak/kdscust.h
Normal file
File diff suppressed because it is too large
Load Diff
719
Spec/Kodak/links.htm
Normal file
719
Spec/Kodak/links.htm
Normal file
@ -0,0 +1,719 @@
|
||||
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
||||
xmlns:o="urn:schemas-microsoft-com:office:office"
|
||||
xmlns:w="urn:schemas-microsoft-com:office:word"
|
||||
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
|
||||
xmlns="http://www.w3.org/TR/REC-html40">
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=ProgId content=Word.Document>
|
||||
<meta name=Generator content="Microsoft Word 12">
|
||||
<meta name=Originator content="Microsoft Word 12">
|
||||
<link rel=File-List href="links_files/filelist.xml">
|
||||
<title>This file contains useful support links</title>
|
||||
<!--[if gte mso 9]><xml>
|
||||
<o:DocumentProperties>
|
||||
<o:Author>50484369</o:Author>
|
||||
<o:LastAuthor>50484369</o:LastAuthor>
|
||||
<o:Revision>3</o:Revision>
|
||||
<o:TotalTime>22</o:TotalTime>
|
||||
<o:Created>2012-06-21T17:03:00Z</o:Created>
|
||||
<o:LastSaved>2012-06-21T17:25:00Z</o:LastSaved>
|
||||
<o:Pages>1</o:Pages>
|
||||
<o:Words>130</o:Words>
|
||||
<o:Characters>742</o:Characters>
|
||||
<o:Company>Microsoft</o:Company>
|
||||
<o:Lines>6</o:Lines>
|
||||
<o:Paragraphs>1</o:Paragraphs>
|
||||
<o:CharactersWithSpaces>871</o:CharactersWithSpaces>
|
||||
<o:Version>12.00</o:Version>
|
||||
</o:DocumentProperties>
|
||||
</xml><![endif]-->
|
||||
<link rel=themeData href="links_files/themedata.thmx">
|
||||
<link rel=colorSchemeMapping href="links_files/colorschememapping.xml">
|
||||
<!--[if gte mso 9]><xml>
|
||||
<w:WordDocument>
|
||||
<w:SpellingState>Clean</w:SpellingState>
|
||||
<w:TrackMoves>false</w:TrackMoves>
|
||||
<w:TrackFormatting/>
|
||||
<w:ValidateAgainstSchemas/>
|
||||
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
|
||||
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
|
||||
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
|
||||
<w:DoNotPromoteQF/>
|
||||
<w:LidThemeOther>EN-US</w:LidThemeOther>
|
||||
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
|
||||
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
|
||||
<w:Compatibility>
|
||||
<w:BreakWrappedTables/>
|
||||
<w:SnapToGridInCell/>
|
||||
<w:WrapTextWithPunct/>
|
||||
<w:UseAsianBreakRules/>
|
||||
<w:DontGrowAutofit/>
|
||||
<w:SplitPgBreakAndParaMark/>
|
||||
<w:DontVertAlignCellWithSp/>
|
||||
<w:DontBreakConstrainedForcedTables/>
|
||||
<w:DontVertAlignInTxbx/>
|
||||
<w:Word11KerningPairs/>
|
||||
<w:CachedColBalance/>
|
||||
</w:Compatibility>
|
||||
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
||||
<m:mathPr>
|
||||
<m:mathFont m:val="Cambria Math"/>
|
||||
<m:brkBin m:val="before"/>
|
||||
<m:brkBinSub m:val="--"/>
|
||||
<m:smallFrac m:val="off"/>
|
||||
<m:dispDef/>
|
||||
<m:lMargin m:val="0"/>
|
||||
<m:rMargin m:val="0"/>
|
||||
<m:defJc m:val="centerGroup"/>
|
||||
<m:wrapIndent m:val="1440"/>
|
||||
<m:intLim m:val="subSup"/>
|
||||
<m:naryLim m:val="undOvr"/>
|
||||
</m:mathPr></w:WordDocument>
|
||||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||||
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
|
||||
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
|
||||
LatentStyleCount="267">
|
||||
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
|
||||
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
|
||||
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="heading 2"/>
|
||||
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="heading 3"/>
|
||||
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="heading 4"/>
|
||||
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
|
||||
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
|
||||
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
|
||||
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
|
||||
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
|
||||
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
|
||||
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
|
||||
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
|
||||
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
|
||||
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
|
||||
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
|
||||
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
|
||||
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Table Grid"/>
|
||||
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
|
||||
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
|
||||
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
|
||||
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
|
||||
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
|
||||
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
|
||||
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light List Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
|
||||
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
|
||||
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
|
||||
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
|
||||
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
|
||||
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
|
||||
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
|
||||
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
|
||||
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
|
||||
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
|
||||
</w:LatentStyles>
|
||||
</xml><![endif]-->
|
||||
<style>
|
||||
<!--
|
||||
/* Font Definitions */
|
||||
@font-face
|
||||
{font-family:"Cambria Math";
|
||||
panose-1:2 4 5 3 5 4 6 3 2 4;
|
||||
mso-font-charset:0;
|
||||
mso-generic-font-family:roman;
|
||||
mso-font-pitch:variable;
|
||||
mso-font-signature:-536870145 1107305727 0 0 415 0;}
|
||||
@font-face
|
||||
{font-family:Consolas;
|
||||
panose-1:2 11 6 9 2 2 4 3 2 4;
|
||||
mso-font-charset:0;
|
||||
mso-generic-font-family:modern;
|
||||
mso-font-pitch:fixed;
|
||||
mso-font-signature:-520092929 1073806591 9 0 415 0;}
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-parent:"";
|
||||
margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h1
|
||||
{mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 1 Char";
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:1;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h2
|
||||
{mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 2 Char";
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:2;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h3
|
||||
{mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 3 Char";
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:3;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
h4
|
||||
{mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-link:"Heading 4 Char";
|
||||
margin-top:12.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
mso-outline-level:4;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-link:"Body Text 2 Char";
|
||||
margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
line-height:200%;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-link:"Body Text 3 Char";
|
||||
margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:8.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
a:link, span.MsoHyperlink
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
color:blue;
|
||||
text-decoration:underline;
|
||||
text-underline:single;}
|
||||
a:visited, span.MsoHyperlinkFollowed
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
color:purple;
|
||||
text-decoration:underline;
|
||||
text-underline:single;}
|
||||
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-link:"Plain Text Char";
|
||||
margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:10.0pt;
|
||||
font-family:"Courier New";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
span.Heading1Char
|
||||
{mso-style-name:"Heading 1 Char";
|
||||
mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 1";
|
||||
mso-ansi-font-size:14.0pt;
|
||||
mso-bidi-font-size:14.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#365F91;
|
||||
mso-themecolor:accent1;
|
||||
mso-themeshade:191;
|
||||
font-weight:bold;}
|
||||
span.Heading2Char
|
||||
{mso-style-name:"Heading 2 Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 2";
|
||||
mso-ansi-font-size:13.0pt;
|
||||
mso-bidi-font-size:13.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#4F81BD;
|
||||
mso-themecolor:accent1;
|
||||
font-weight:bold;}
|
||||
span.Heading3Char
|
||||
{mso-style-name:"Heading 3 Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 3";
|
||||
mso-ansi-font-size:12.0pt;
|
||||
mso-bidi-font-size:12.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#4F81BD;
|
||||
mso-themecolor:accent1;
|
||||
font-weight:bold;}
|
||||
span.Heading4Char
|
||||
{mso-style-name:"Heading 4 Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:9;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Heading 4";
|
||||
mso-ansi-font-size:12.0pt;
|
||||
mso-bidi-font-size:12.0pt;
|
||||
font-family:"Cambria","serif";
|
||||
mso-ascii-font-family:Cambria;
|
||||
mso-ascii-theme-font:major-latin;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:major-fareast;
|
||||
mso-hansi-font-family:Cambria;
|
||||
mso-hansi-theme-font:major-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:major-bidi;
|
||||
color:#4F81BD;
|
||||
mso-themecolor:accent1;
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
span.BodyText2Char
|
||||
{mso-style-name:"Body Text 2 Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Body Text 2";
|
||||
mso-ansi-font-size:12.0pt;
|
||||
mso-bidi-font-size:12.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
span.BodyText3Char
|
||||
{mso-style-name:"Body Text 3 Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Body Text 3";
|
||||
mso-ansi-font-size:8.0pt;
|
||||
mso-bidi-font-size:8.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;}
|
||||
span.PlainTextChar
|
||||
{mso-style-name:"Plain Text Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Plain Text";
|
||||
mso-ansi-font-size:10.5pt;
|
||||
mso-bidi-font-size:10.5pt;
|
||||
font-family:Consolas;
|
||||
mso-ascii-font-family:Consolas;
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;
|
||||
mso-hansi-font-family:Consolas;
|
||||
mso-bidi-font-family:Consolas;}
|
||||
p.style4, li.style4, div.style4
|
||||
{mso-style-name:style4;
|
||||
mso-style-unhide:no;
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;
|
||||
font-weight:bold;}
|
||||
p.style2, li.style2, div.style2
|
||||
{mso-style-name:style2;
|
||||
mso-style-unhide:no;
|
||||
margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
mso-pagination:widow-orphan;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman","serif";
|
||||
mso-fareast-font-family:"Times New Roman";
|
||||
mso-fareast-theme-font:minor-fareast;
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
.MsoChpDefault
|
||||
{mso-style-type:export-only;
|
||||
mso-default-props:yes;
|
||||
font-size:10.0pt;
|
||||
mso-ansi-font-size:10.0pt;
|
||||
mso-bidi-font-size:10.0pt;}
|
||||
@page WordSection1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 65.95pt 1.0in 65.95pt;
|
||||
mso-header-margin:.5in;
|
||||
mso-footer-margin:.5in;
|
||||
mso-paper-source:0;}
|
||||
div.WordSection1
|
||||
{page:WordSection1;}
|
||||
-->
|
||||
</style>
|
||||
<!--[if gte mso 10]>
|
||||
<style>
|
||||
/* Style Definitions */
|
||||
table.MsoNormalTable
|
||||
{mso-style-name:"Table Normal";
|
||||
mso-tstyle-rowband-size:0;
|
||||
mso-tstyle-colband-size:0;
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-parent:"";
|
||||
mso-padding-alt:0in 5.4pt 0in 5.4pt;
|
||||
mso-para-margin:0in;
|
||||
mso-para-margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:10.0pt;
|
||||
font-family:"Times New Roman","serif";}
|
||||
</style>
|
||||
<![endif]--><!--[if gte mso 9]><xml>
|
||||
<o:shapedefaults v:ext="edit" spidmax="2050"/>
|
||||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||||
<o:shapelayout v:ext="edit">
|
||||
<o:idmap v:ext="edit" data="1"/>
|
||||
</o:shapelayout></xml><![endif]-->
|
||||
</head>
|
||||
|
||||
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
|
||||
|
||||
<div class=WordSection1>
|
||||
|
||||
<p class=MsoPlainText>This file contains useful support links.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><o:p> </o:p></p>
|
||||
|
||||
<p class=MsoPlainText><b>Kodak Document Imaging: </b><b><span
|
||||
style='mso-fareast-font-family:"Times New Roman";color:black'><a
|
||||
href="http://www.kodak.com/go/scanners"><span style='font-weight:normal'>http://www.kodak.com/go/scanners</span></a></span></b></p>
|
||||
|
||||
<p class=MsoPlainText><span style='mso-fareast-font-family:"Times New Roman";
|
||||
color:black'>This is the scanner product page for Document Imaging. To
|
||||
get to the driver downloads and user publications, select your scanner. If your
|
||||
scanner is not listed, click "Support Center" to find it.<o:p></o:p></span></p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b>TWAIN Working Group: <a
|
||||
href="http://www.twain.org/">http://www.twain.org/</a></b></p>
|
||||
|
||||
<p class=MsoPlainText>This is the main page for the TWAIN Working Group.
|
||||
Go here to get the latest Specifications and White Papers. TWAIN also
|
||||
puts out a newsletter detailing the latest information about the standard, and
|
||||
provides a mailing list to monitor activity and to facilitate community
|
||||
assistance on TWAIN issues.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>You can also go here to access the TWAIN Forum, an online
|
||||
discussion platform where you can exchange ideas with the TWAIN community.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
241
Spec/Kodak/readme.htm
Normal file
241
Spec/Kodak/readme.htm
Normal file
@ -0,0 +1,241 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
||||
<meta name=Generator content="Microsoft Word 10 (filtered)">
|
||||
<title>The contents of this directory provide information about the custom
|
||||
features of the Kodak TWAIN driver</title>
|
||||
|
||||
<style>
|
||||
<!--
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h1
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h3
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
h4
|
||||
{margin-top:12.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
line-height:200%;
|
||||
font-size:12.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3
|
||||
{margin-top:0in;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
font-size:8.0pt;
|
||||
font-family:"Times New Roman";}
|
||||
a:link, span.MsoHyperlink
|
||||
{color:blue;
|
||||
text-decoration:underline;}
|
||||
a:visited, span.MsoHyperlinkFollowed
|
||||
{color:purple;
|
||||
text-decoration:underline;}
|
||||
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
|
||||
{margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
font-size:10.0pt;
|
||||
font-family:"Courier New";}
|
||||
p.style4, li.style4, div.style4
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:3.0pt;
|
||||
margin-left:0in;
|
||||
text-align:justify;
|
||||
page-break-before:always;
|
||||
page-break-after:avoid;
|
||||
font-size:18.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;}
|
||||
p.style2, li.style2, div.style2
|
||||
{margin-top:6.0pt;
|
||||
margin-right:0in;
|
||||
margin-bottom:6.0pt;
|
||||
margin-left:0in;
|
||||
page-break-after:avoid;
|
||||
font-size:14.0pt;
|
||||
font-family:"Times New Roman";
|
||||
font-weight:bold;
|
||||
font-style:italic;}
|
||||
@page Section1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 65.95pt 1.0in 65.95pt;}
|
||||
div.Section1
|
||||
{page:Section1;}
|
||||
-->
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body lang=EN-US link=blue vlink=purple>
|
||||
|
||||
<div class=Section1>
|
||||
|
||||
<p class=MsoPlainText>KODAK Directory</p>
|
||||
|
||||
<p class=MsoPlainText>Readme File</p>
|
||||
|
||||
<p class=MsoPlainText>02-August-2006</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText>The contents of this directory provide information about
|
||||
the custom features of the Kodak TWAIN driver.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="GettingStarted.htm">GettingStarted.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>Some hints for new application writers. The
|
||||
information here technically belongs in the FAQ, but we’re pulling it out to
|
||||
help jumpstart the development process for someone who is new to the Kodak
|
||||
Document Scanners, TWAIN or both.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="links.htm">links.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>A list of links pointing to Kodak and TWAIN driver
|
||||
support resources on the net.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="faq.htm">faq.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>A list of hints, help and Frequently Asked Questions
|
||||
concerning the Kodak TWAIN driver; integrators are strongly encouraged to look
|
||||
through this file when looking for information about how the driver works, how
|
||||
to integrate it, and some of the configuration tweaks and tricks that can be
|
||||
applied to help it work better in specific situations.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="kdscust.h">kdscust.h</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>This is the C/C++ header file containing (and describing)
|
||||
all the custom TWAIN capabilities and operations supported by the driver. For
|
||||
more detail see <b><u><a href="TWAIN_Features.htm">TWAIN_Features.htm</a>.</u></b></p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="debugging.htm">debugging.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>This describes the logging system for the Kodak TWAIN
|
||||
driver, though it also discusses a couple other diagnostic tools. This is
|
||||
probably the most important document to read if you are attempting to diagnose
|
||||
a problem using the driver. Note that it can be used to analyze the
|
||||
behavior of the application and the scanner too.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="simulator.htm">simulator.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>The Kodak TWAIN driver supports a simulation mode that
|
||||
allows integrators to test scanner models without a physical scanner.
|
||||
This document provides information on how to use the simulator.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><a href="TWAIN_DualStream.htm">TWAIN_DualStream.htm</a></b></p>
|
||||
|
||||
<p class=MsoPlainText>This document is a bit of a mix between the current Kodak
|
||||
DualStream functionality and a proposed Single Document Multiple Images
|
||||
proposal for the TWAIN Working Group.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><a href="TWAIN_ExtImageInfo.htm">TWAIN_ExtImageInfo.htm</a></b></p>
|
||||
|
||||
<p class=MsoPlainText>Applications maximize their flexibility when they collect
|
||||
the meta-data associated with each image captured by the scanner. For simple
|
||||
applications DAT_IMAGEINFO is often enough information. More complex
|
||||
applications will want to use DAT_EXTIMAGEINFO. This document goes into
|
||||
some detail about how best to use the call, and what information it offers per
|
||||
image.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><a href="TWAIN_FileSystem.htm">TWAIN_FileSystem.htm</a></b></p>
|
||||
|
||||
<p class=MsoPlainText>There’s a bit of source code in here to help uses who
|
||||
need to negotiate the rear cameras separately from the front cameras (this most
|
||||
often occurs when trying to set up simultaneous bitonal/color or
|
||||
bitonal/grayscale scanning using the custom CAP_CAMERAENABLE capability).</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="TWAIN_ProgrammaticControl.htm">TWAIN_ProgrammaticControl.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>This document describes how all TWAIN and custom
|
||||
capabilities work for each scanner.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><u><a href="TWAIN_ProgrammaticPrinting.htm">TWAIN_ProgrammaticPrinting.htm</a></u></b></p>
|
||||
|
||||
<p class=MsoPlainText>This document describes how to programmatically drive the
|
||||
scanner printing functionality through the TWAIN interface, (as opposed to
|
||||
doing it through the driver GUI).</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><a href="TWAIN_ScannerIdentification.htm">TWAIN_ScannerIdentification.htm</a></b></p>
|
||||
|
||||
<p class=MsoPlainText>In an ideal world an application should never have to
|
||||
know the exact model number (save maybe to show the value to a user).
|
||||
This is our concession to reality.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
<p class=MsoPlainText><b><a href="TWAIN_Internationalization.htm">TWAIN_Internationalization.htm</a></b></p>
|
||||
|
||||
<p class=MsoPlainText>This section details the various ways that an application
|
||||
or user can select the language used by the driver.</p>
|
||||
|
||||
<p class=MsoPlainText> </p>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
1808
Spec/Kodak/simulator.htm
Normal file
1808
Spec/Kodak/simulator.htm
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user