>My assumption is the vast majority of consumer scanners out there will support all 3 Really ? My scanner is an Epson V100 (and there are lots of epson scanners used under linux, due to it's good support) and the sane epson-backend doesn't support line-art (als I've written sane is inconsistent, binary would be the right parameter with epson-scanners to get black&white) 'Just for fun' my output of scanimage -h Options specific to device `epkowa:interpreter:002:006': Scan Mode: --mode Binary|Gray|Color [Color] Selects the scan mode (e.g., lineart, monochrome, or color). --depth 8|16 [8] Number of bits per sample, typical values are 1 for "line-art" and 8 for multibit scans. --halftoning None|Halftone A (Hard Tone)|Halftone B (Soft Tone)|Halftone C (Net Screen) [inactive] Selects the halftone. --dropout None|Red|Green|Blue [inactive] Selects the dropout. --brightness 0..0 [inactive] Selects the brightness. --sharpness -2..2 [inactive] --gamma-correction User defined (Gamma=1.0)|User defined (Gamma=1.8) [User defined (Gamma=1.8)] Selects the gamma correction value from a list of pre-defined devices or the user defined table, which can be downloaded to the scanner --color-correction User defined [inactive] Sets the color correction table for the selected output device. --resolution 200|400|600|800|1200|1600|3200dpi [200] Sets the resolution of the scanned image. --x-resolution 133|200|400|600|800|1200|1600|3200dpi [200] Sets the horizontal resolution of the scanned image. --y-resolution 133|200|400|600|800|1200|1600|2400|3200|4800|6400|9600dpi [200] Sets the vertical resolution of the scanned image. --threshold 0..255 [inactive] Select minimum-brightness to get a white point Advanced: --mirror[=(yes|no)] [inactive] Mirror the image. --speed[=(yes|no)] [no] Determines the speed at which the scan proceeds. --auto-area-segmentation[=(yes|no)] [inactive] --short-resolution[=(yes|no)] [no] Display short resolution list --zoom 50..200 [inactive] Defines the zoom factor the scanner will use --red-gamma-table 0..255,... Gamma-correction table for the red band. --green-gamma-table 0..255,... Gamma-correction table for the green band. --blue-gamma-table 0..255,... Gamma-correction table for the blue band. --wait-for-button[=(yes|no)] [no] After sending the scan command, wait until the button on the scanner is pressed to actually start the scan process. --monitor-button[=(yes|no)] [no] Indicates whether a button on the scanner has been pressed (read-only option). Color correction coefficients: --cct-1 -2..2 [1.0878] Controls red level --cct-2 -2..2 [-0.0666962] Adds to red based on green level --cct-3 -2..2 [-0.0210876] Adds to red based on blue level --cct-4 -2..2 [-0.0891876] Adds to green based on red level --cct-5 -2..2 [1.15129] Controls green level --cct-6 -2..2 [-0.0621948] Adds to green based on blue level --cct-7 -2..2 [-0.0653992] Adds to blue based on red level --cct-8 -2..2 [-0.517487] Adds to blue based on green level --cct-9 -2..2 [1.58289] Control blue level Preview: --preview[=(yes|no)] [no] Request a preview-quality scan. --preview-speed[=(yes|no)] [no] Geometry: -l 0..215.9mm [0] Top-left x position of scan area. -t 0..297.18mm [0] Top-left y position of scan area. -x 0..215.9mm [215.9] Width of scan-area. -y 0..297.18mm [297.18] Height of scan-area. --quick-format CD|A5 portrait|A5 landscape|Letter|A4|Max [Max] Optional equipment: --source Flatbed|Transparency Unit [Flatbed] Selects the scan source (such as a document-feeder). --auto-eject[=(yes|no)] [inactive] Eject document after scanning --film-type Positive Film|Negative Film [inactive] --focus-position Focus on glass|Focus 2.5mm above glass [inactive] Sets the focus position to either the glass or 2.5mm above the glass --bay 1 | 2 | 3 | 4 | 5 | 6 [inactive] Select bay to scan --eject [inactive] Eject the sheet in the ADF --adf-mode Simplex|Duplex [inactive] Selects the ADF mode (simplex/duplex) --detect-doc-size[=(yes|no)] [inactive] Activates document size auto-detection. The scan area will be set to match the detected document size. --scan-area-is-valid[=(yes|no)] [yes] [read-only] Indicates whether the current scan area settings are valid. --adf-auto-scan[=(yes|no)] [inactive] Skips per sheet device setup for faster throughput. --double-feed-detection-sensitivity None|Low|High [inactive] Sets the sensitivity with which multi-sheet page feeds are detected and reported as errors. --ext-sane-status 0..3.05176e-05 [] [read-only] Ugly kludge to provide additional status message strings to a frontend. --adf-duplex-direction-matches[=(yes|no)] [inactive] Indicates whether the device's ADF duplex mode, if available, scans in the same direction for the front and back. Ah and yes (as you might expect) simple-scan produces colored images if I select text.