The TWAIN Working Group, 13090 Hwy 9, Suite 3, Boulder Creek, CA 95006
www.twain.org
4
White Paper:
Capability Ordering
The TWAIN Working Group
March 29, 1999
Contributors:
Jon Harju, JFL Peripheral Solutions
Mark McLaughlin, Eastman Kodak Corporation

The TWAIN Working Group, 13090 Hwy 9, Suite 3, Boulder Creek, CA 95006
www.twain.org
5
White Paper:
Capability Ordering
The TWAIN Working Group
March 29, 1999
TWAIN Capability Ordering
The purpose of this document is to point out connections between certain capabilities. The way one
capability can affect another is not always obvious and failure to recognize this interdependence is
often the reason for unexpected TWAIN Scanning results. Using this as a guideline, a Application
Developers can code capability negotiation with confidence, and Data Source developers can refer
back to this document to make sure they have not introduced an unusual dependency.
One other note about interpreting this document, the entire list of capabilities is in the context of the Current File System
Device. If the Current File System Device was changed using the DAT_FILESYSTEM triplets, the context of these
capabilities is expected to change and re-negotiation must occur. It is much easier to deal with if the File System operations
are completed first and Capability negotiation on a large scale is left until just before scanning from a particular device.
Independent Capabilities
These capabilities are considered independent because they do not affect other capabilities and they are not affected by
changes in other capabilities.
CAP_ENABLEDSUIONLY
CAP_CUSTOMDSDATA
CAP_INDICATORS
CAP_UICONTROLLABLE
CAP_SERIALNUMBER
ICAP_LAMPSTATE
CAP_BATTERYMINUTES
CAP_BATTERYPERCENTAGE
CAP_POWERSUPPLY
ICAP_BITORDER
CAP_DEVICETIMEDATE
CAP_DEVICEEVENT
CAP_CAMERAPREVIEWUI
Semi-Independent Capabilities
Semi Independent Capabilities are small groups that have little effect on the big picture do have
their own pockets of dependencies.
CAP_ALARMS CAP_ALARMVOLUME
CAP_AUTOMATICCAPTURE
CAP_TIMEBEFOREFIRSTCAPTURE
CAP_TIMEBETWEENCAPTURES
CAP_AUTOMATICCAPTURE
ACAP_XFERMECH ACAP_AUDIOFILEFORMAT

The TWAIN Working Group, 13090 Hwy 9, Suite 3, Boulder Creek, CA 95006
www.twain.org
6
The Big Picture of Dependant Capabilities (1 of 2)
*Note: if CAP_THUMNAILSENABLED is enabled, do not negotiate any further capabilities related to dimensions of the output
image. This capability over-rides all in order to have the Source deliver reasonable thumbnail images.
*Note: Available Compressions are also
directly dependent upon the current
setting of ICAP_XFERMECH.
CAP_SUPPORTEDCAPS
CAP_LANGUAGE
ICAP_XFERMECH
ICAP_TILES
ICAP_IMAGEFILEFORMAT
CAP_DEVICEONLINE
CAP_FEEDERENABLED CAP_DUPLEX CAP_DUPLEXENABLED
CAP_FEEDERORDER
CAP_FEEDERALIGNMENT
CAP_AUTOFEED
CAP_CLEARPAGE
CAP_FEEDPAGE
CAP_REWINDPAGE
CAP_PAPERDETECTABLE CAP_FEEDERLOADED
CAP_PRINTER CAP_PRINTERENABLED CAP_PRINTERMODE
CAP_PRINTERSTRING
CAP_PRINTERINDEX
CAP_PRINTERSUFFIX
ICAP_UNITS
ICAP_IMAGEDATASET
CAP_THUMBNAILSENABLED
ICAP_XNATIVERESOLUTION
ICAP_YNATIVERESOLUTION
ICAP_PHYSICALWIDTH
ICAP_PHYSICALHEIGHT
ICAP_MINIMUMHEIGHT
ICAP_MINIMUMWIDTH
ICAP_XRESOLUTION
ICAP_YRESOLUTION ICAP_PIXELTYPE ICAP_BITDEPTH
ICAP_PIXELFLAVOR
ICAP_PLANARCHUNKY
ICAP_BITDEPTHREDUCTION
ICAP_CUSTHALFTONE
ICAP_HALFTONES
ICAP_THRESHOLD
ICAP_XSCALING
ICAP_YSCALING
ICAP_ZOOMFACTOR
CAP_EXTENDEDCAPS
ICAP_AUTOBRIGHT ICAP_BRIGHTNESS
ICAP_CONTRAST
ICAP_GAMMA
ICAP_HIGHLIGHT
ICAP_SHADOW
ICAP_EXPOSURETIME
ICAP_FILTER
ICAP_IMAGEFILTER
ICAP_NOISEFILTER
ICAP_COMPRESSION
ICAP_BITORDERCODES
ICAP_CCITTKFACTOR
ICAP_PIXELFLAVORCODES
ICAP_TIMEFILL
ICAP_JPEGPIXELTYPE
ICAP_COMPRESSION
* see ICAP_BITDEPTH

The TWAIN Working Group, 13090 Hwy 9, Suite 3, Boulder Creek, CA 95006
www.twain.org
7
The Big Picture of Dependant Capabilities (2 of 2)
* The TWAIN name, logo and phrase "TWAIN- Linking Images with Applications' are trademarks of the TWAIN Working Group. All rights reserved.
ICAP_UNDEFINEDIMAGESIZE
ICAP_AUTOMATICBORDERDETECTION
ICAP_AUTOMATICDESKEW
ICAP_AUTOMATICROTATE
ICAP_OVERSCAN
ICAP_SUPPORTEDSIZES
ICAP_MAXFRAMES ICAP_FRAMES
ICAP_ORIENTATION
ICAP_FLIPROTATION
ICAP_ROTATION
CAP_AUTHOR
CAP_CAPTION
CAP_TIMEDATE
ICAP_LIGHTSOURCE
ICAP_LIGHTPATH
ICAP_FLASHUSED *obsolete
ICAP_FLASHUSED2
CAP_XFERCOUNT CAP_AUTOSCAN CAP_REACQUIREALLOWED
CAP_MAXBATCHBUFFERS
CAP_CLEARBUFFERS
CAP_ENDORSER
CAP_JOBCONTROL
ICAP_EXTIMAGEINFO ICAP_PATCHCODEDETECTIONENABLED
ICAP_PATCHCODESEARCHMODE
ICAP_PATCHCODEMAXRETRIES
ICAP_PATCHCODETIMEOUT
ICAP_SUPPORTEDPATCHCODETYPES
ICAP_PATCHCODEMAXSEARCHPRIORITIES
ICAP_PATCHCODESEARCHPRIORITIES
ICAP_BARCODEDETECTIONENABLED
ICAP_BARCODESEARCHMODE
ICAP_BARCODEMAXRETRIES
ICAP_BARCODETIMEOUT
ICAP_SUPPORTEDBARCODETYPES ICAP_BARCODEMAXSEARCHPRIORITIES
ICAP_BARCODESEARCHPRIORITIES